回 帖 发 新 帖 刷新版面

主题:从1,2,3...100这一百个自然数................

从1,2,3...100这一百个自然数中,任取两数相乘,其积能被9整除的数对有多少对

该如何编写 我不会 教教我`~~~用qbasic```[em10][em10][em10][em10]

回复列表 (共20个回复)

沙发

两个for一个if

板凳

我不会用数组
能不能写出来让我看看啊?~?~??

3 楼

我是这样写的 为什么执行死循环
n=0
for i = 1 to 100 step 1
for j = 1 to 100 step 1
if i*j mod 9 = 0 then
n=n+1
else
n=n
end if
next j
next i
print "n="; n
end
这样执行是一个死循环 我的思路就是如果能整除就记录n为次数n=n+1
可是为什么.`.................
请高手写出答案 和具体解法过程
偶只是个初学者

4 楼

去捍第一句 N=0,每次循环都把0又赋给N,当然错了。

5 楼

去掉第一个之后N就没有赋值了~~怎办啊~~~救命啊
请写出答案啊~~

6 楼

defint a-z           '[color=000FF0]默认全部变量为短整形[/color]
n=0
for i = 1 to 100     '[color=000FF0]step可以省略,默认为+1[/color]
  for j = (i+1) to 100   '[color=000FF0]应该是从i到一百,才不会有重复换位或相同的乘数[/color]
    if i*j mod 9 = 0 then   '[color=000FF0]n=n 这一句没有任何作用[/color]
      n=n+1
      print i;"*";j;"=";i*j,
    end if
   next j
next i
print "n="; n
end
'[color=000FF0]按道理你的程序没大的错误,不可能死循环的。你肯定隐瞒了一些事实。否则我会很佩服你不改变for的值也能写得出死循环的for程序来。[/color]

7 楼

for j=(i+1) to 100 我此终不那么明白 另外可以改成 for j = i to 100麽?~
我不知我的是不是死循环 总之画面显示n=.....一直刷个满屏 之后屏幕又变黑之后又刷 害我要开任务管理器来关闭```现在试你的程序行不行先算

8 楼

我不知答案对不对啊
总共有1265种可能性```

9 楼

6楼的 如果我把for j = (i+1) to 100   
改成 for j = i to 100
答案就变成 1298了

10 楼

不管怎样 很谢谢6楼的兄弟 能帮我解决这个问题
我现在就是不知答案对不对``让我明天找老师看看就知道了

我来回复

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