题目是这样的,如果一个数的因子之和等于这处数本身,就称这样的数为"完全数",现打印出N到M的完全数
Private Sub Command1_Click()
a = InputBox("请输入数字N")
b = InputBox("请输入数字M")
c = Val(a)
d = Val(b)
k = 0
For n = c To d
For m = 1 To n \ 2
If n Mod m = 0 Then
k = k + m
End If
Next m
If k = n Then
Print n
End If
Next n
End Sub这样写可以吗,为什么运行不了呢
Private Sub Command1_Click()
a = InputBox("请输入数字N")
b = InputBox("请输入数字M")
c = Val(a)
d = Val(b)
k = 0
For n = c To d
For m = 1 To n \ 2
If n Mod m = 0 Then
k = k + m
End If
Next m
If k = n Then
Print n
End If
Next n
End Sub这样写可以吗,为什么运行不了呢
但先搞清楚完全数的规律勉强可以省点功夫。
1.没有小于10^300的奇完全数
2.当2^k-1是质数时,(2^(k-1))×(2^k-1)是完全数。
3.所有偶完全数的个位数都是6或者8。。
For n = c To d
这个k=0放到这个for循环的下面.