主题:无数不在的7怎么编啊?????紧急??
440105
[专家分:30] 发布于 2005-02-10 12:25:00
无数不在的7怎么编啊?????紧急??要程序!!
[em18][em18]
输出7和7的倍数、还有包含7的数字的个数,例如7、14、17、21、27、37....71、72等
急,请各位高手帮忙!!!!!
回复列表 (共9个回复)
沙发
47 [专家分:590] 发布于 2005-02-13 23:33:00
等一下
我来搞定
板凳
tong类 [专家分:40] 发布于 2005-02-14 13:32:00
[em4]我也很想知道 啊
47靠你了 啊 呵呵
3 楼
独孤剑圣 [专家分:30] 发布于 2005-02-16 22:53:00
在什么范围内?
4 楼
440105 [专家分:30] 发布于 2005-02-19 11:58:00
各位大虾好,我已经自己解决了,谢谢,范围是 1小于等于N小于等于30000
我把程序源代码公布如下,有什么不妥请各位指教。
Program Ex1_3;
var i,i2,i1,i3,i4,i5,i6,N1,N2,N3,N4,N5,N6,N,S,j:longint; f:text;
begin
assign(f,'Ex1_3.in');
reset(f);
readln(f,n);
close(f);
for i:=1 to n do
begin
i1:=i; i2:=i; i3:=i; i4:=i; i5:=i;
N1:=i1 mod 100 mod 10;
if i div 1>9
Then N2:=i2 mod 100 div 10;
if i div 10>9
Then N3:=i3 div 100;
if i div 100>9
Then N4:=i4 div 1000;
if i div 1000>9
Then N5:=i5 div 10000;
if i div 10000>9
Then N6:=i6 div 100000;
if (i mod 7=0)or(N1=7)or(N2=7)or(N3=7)or(N4=7)or(N5=7)
then s:=s+1;
end;
assign(f,'Ex1_3.out');
rewrite(f);
writeln(s);
close(f);
end.
5 楼
440105 [专家分:30] 发布于 2005-02-19 12:01:00
我虽是初学者,但大家有什么不懂,也可以到我的论坛去看看,HTTP://WWW.FORUMWEST.COM
6 楼
lasselore [专家分:60] 发布于 2005-02-22 20:48:00
晕,过分
直接很容易阿,不是由数据规模么?我写一格吧,没上机通过过,看看算法吧。
program pro7(input,output);
var i,j:longint;n:longint;
begin
readln(n);
for i:=7 to n do
if((i mod 7=0)or((imod 10)=7)or((i mod 100)=7)or((i mod 1000)=7)or((i mod 10000)=7))then writeln(i)
end.
好像是这样吧,从余数角度考虑。我望了具体的了
7 楼
rickone [专家分:15390] 发布于 2005-02-24 17:36:00
(i mod 100)=7)or((i mod 1000)=7)or((i mod 10000)=7))
错
8 楼
47 [专家分:590] 发布于 2005-03-05 19:51:00
拜托
单纯的mod怎么行呀
我写了一个
比较简单
可惜程序现在不在
大概就是
if(是七的倍数)or(有七这个数)then 输出
把 (有七这个数) 做成function
每次都 n:=(n-(n mod 10)) div 10
直到找到某一位是7
若无
则看 (是七的倍数) 是否成立
其实程序还是比较简单的
9 楼
47 [专家分:590] 发布于 2005-03-05 19:53:00
再说一下
那个循环的次数可以根据 范围 自行调整
就不用去if那么多了
我来回复