25 lines
538 B
Plaintext
25 lines
538 B
Plaintext
' FB 1.05.0 Win64
|
|
|
|
Function isPerfect(n As Integer) As Boolean
|
|
If n < 2 Then Return False
|
|
If n Mod 2 = 1 Then Return False '' we can assume odd numbers are not perfect
|
|
Dim As Integer sum = 1, q
|
|
For i As Integer = 2 To Sqr(n)
|
|
If n Mod i = 0 Then
|
|
sum += i
|
|
q = n \ i
|
|
If q > i Then sum += q
|
|
End If
|
|
Next
|
|
Return n = sum
|
|
End Function
|
|
|
|
Print "The first 5 perfect numbers are : "
|
|
For i As Integer = 2 To 33550336
|
|
If isPerfect(i) Then Print i; " ";
|
|
Next
|
|
|
|
Print
|
|
Print "Press any key to quit"
|
|
Sleep
|