vb 中“完备数”的题目

来源:百度知道 编辑:UC知道 时间:2024/05/31 23:01:01
“完备数”是指一个数恰好等于他的因子之和,如6的因子为1、2、3,而6=1+2+3,因而6就是完备数。编制程序,找出1~1000之间的全部“完备数”

添加一个按钮
代码如下:
Private Sub Command1_Click()
Dim Perfect As String
For i = 1 To 1000
If IsPerfect(i) = True Then '如果i完备数
Perfect = Perfect & "," & i '将所有的完备数存放在字符串里
End If
Next i
MsgBox "1到1000的完备数有:" & Mid(Perfect, 2, Len(Perfect) - 1) '输出完备数

End Sub
Function IsPerfect(ByVal n As Long) As Boolean '判断是否为完备数
Dim i As Long
Dim x As Long
For i = 1 To Int(n / 2)
If n Mod i = 0 Then
x = x + i
End If
Next
If x = n Then
IsPerfect = True
Else
IsPerfect = False
End If
End Function
结果如下:
1到1000的完备数有:6,28,496