回 帖 发 新 帖 刷新版面

主题:无数不在的7怎么编啊?????紧急??

无数不在的7怎么编啊?????紧急??要程序!!
[em18][em18]
输出7和7的倍数、还有包含7的数字的个数,例如7、14、17、21、27、37....71、72等
急,请各位高手帮忙!!!!!

回复列表 (共9个回复)

沙发

等一下
我来搞定

板凳

[em4]我也很想知道 啊
47靠你了 啊 呵呵

3 楼

在什么范围内?

4 楼

各位大虾好,我已经自己解决了,谢谢,范围是 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 楼

我虽是初学者,但大家有什么不懂,也可以到我的论坛去看看,HTTP://WWW.FORUMWEST.COM

6 楼

晕,过分
直接很容易阿,不是由数据规模么?我写一格吧,没上机通过过,看看算法吧。
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 楼

(i mod 100)=7)or((i mod 1000)=7)or((i mod 10000)=7))

8 楼

拜托
单纯的mod怎么行呀

我写了一个
比较简单
可惜程序现在不在

大概就是
if(是七的倍数)or(有七这个数)then 输出

把 (有七这个数) 做成function
每次都 n:=(n-(n mod 10)) div 10
直到找到某一位是7
若无
则看 (是七的倍数) 是否成立

其实程序还是比较简单的

9 楼

再说一下
那个循环的次数可以根据 范围 自行调整
就不用去if那么多了

我来回复

您尚未登录,请登录后再回复。点此登录或注册