求VB高手指导我两个程序

来源:百度知道 编辑:UC知道 时间:2024/06/14 19:37:19
有一序列:2/1,3/2,5/3,8/5,13/8,21/13,…
求前20项之和
这个我编的是
s = 0
a = 2
b = 1
For i = 1 To 20
s = s + a / b
k = a + b
b = a
a = k
Next i
Print s
这个程序可以运行 答案也是正确的 但为什么For i = 1 To 20 里的i没用到?

如果一个数等于他的所有的因子(不包括自身)之和,这个数就称为“完数”(如6=1+2+3),请编程找出1000以内的所有完数(提示将m依次除以1―m/2 如果能整除 就是它的一个因子 进行累加 循环结束 若它与累加因子之和相等 它就是完数)
我编的是
Dim i As Integer, j As Integer ,s As Integer
For i = 1 To 1000
For j = 1 To i/2
s = 0
If i Mod j = 0 Then
s = s + j
End If
Next j

If i = s Then
Print i
End If
Next i
这个我不知道哪里错了 运行不出答案
求高手指教

1,i 作为计数循环变量用的

2 Dim i As Integer, j As Integer ,s As Integer
For i = 1 To 1000
s = 0
For j = 1 To i/2

If i Mod j = 0 Then
s = s + j
End If
Next j

If i = s Then
Print i
End If
Next i
你的s=0的位置有问题