就是输出1000内的所有完数?
完数就是指一个数恰好等于它的因子之和,例如6的因子为1;2;3;而6=1+2+3则6为完数,
我才开始学VB的,算法总是不能够很好的掌握,谢谢高手!

解决方案 »

  1.   

    Dim i, j, sum As Integer
    For i = 1 To 1000
        sum = 0
        For j = 1 To i - 1
            If i Mod j = 0 Then
                sum = sum + j
            End If
        Next j
        If i = sum Then Print i
    Next i
      

  2.   

    Private Sub Command1_Click()
    Dim i, j, sum As Integer
    For i = 1 To 1000 \ 2'这是和楼上的区别
        sum = 0
        For j = 1 To i - 1
            If i Mod j = 0 Then
                sum = sum + j
            End If
        Next j
        If i = sum Then List1.AddItem CStr(i)
    Next iEnd Sub
      

  3.   

    都很好啊,不过我不明白为什么不是从i=1to1000呢,
    而是从to 500呢?
    还有我怎么给各位高手加分?
      

  4.   

    我认为TO 500是错误的.
    如果i的范围设定为10的话,按 rainstormmaster(rainstormmaster) 的算法的话,就没有6这个数了.