VB 求1000以内的所有完数

2024-11-23 05:16:20
推荐回答(1个)
回答1:

主要是d的初值为0,c=1,则c>d,所以永远不会执行do--loop,而且许多语句位置也不对,根据你的代码,稍微调整了一下:
Private Sub Form_Click()
Dim a%, b%, c%, d%
For a = 2 To 1000
b = a - 1
c = 1
d = 0
Do While c <= b
If a Mod c = 0 Then
d = d + c
End If
c = c + 1
Loop
If a = d Then
Print a
End If
Next a
End Sub