求高手VB编程~~~~

来源:百度知道 编辑:UC知道 时间:2024/05/09 12:30:19
6=1+2+3 编个程序 ,找出所有1000以内的这种数 程序怎么写?会吗?
就是求出1000以内所有这样的数,三个数相加等于一个数的

你说的是完全数吧
Option Explicit

Private Sub Command1_Click()
Dim i As Long

For i = 2 To 1000
If (GetGeneSum(i) = i) Then
Debug.Print i
End If
Next
End Sub

Function GetGeneSum(ByVal n As Long) As Long
Dim i As Long

For i = 1 To n - 1
GetGeneSum = GetGeneSum + IIf((0 = n Mod i), i, 0)
Next i
End Function

运行结果

6
28
496

什么意思,6 = 1 + 2 + 3 怎么了?