VB 的一些编程不懂是什么意思

来源:百度知道 编辑:UC知道 时间:2024/05/03 13:42:41
Private Sub Form_Click()
Dim sum As Integer
For i = 1 To 1000
sum = 0 '第1空
For j = 1 To Int(i / 2)
If i Mod j = 0 Then sum = sum + j '第2空
Next j
If sum = i Then Print i '第3空
Next i '第4空
End Sub

For j = 1 To Int(i / 2),这句怎样理解
sum = i 为什么不是I + I
DUM = 0 为什么不是为1
为什么sum = 1不是 sum = 0
sum = i 这句怎样理解呢

这个程序应该是求1000以内的完整数.
6=1+2+3
28=1+2+4+7+14
Int 返回参数的整数部分
因为完整数是所有真因子之和等于它本身
所以循环只要到该数的一半就行了.也就是Int(i/2)的作用.
"sum = i 为什么不是I + I "这句我不太懂你的意思
sum=i就说明该数是完整数了,然后就输出.
sum=0就是要将先前求过的数清除掉,如果是1的话那么所求的数不都加1了,结果就不对了.

先去看看书吧。