35 lines
719 B
Text
35 lines
719 B
Text
' FreeBASIC v1.05.0 win64
|
|
|
|
Function SumProperDivisors(number As Integer) As Integer
|
|
If number < 2 Then Return 0
|
|
Dim sum As Integer = 0
|
|
For i As Integer = 1 To number \ 2
|
|
If number Mod i = 0 Then sum += i
|
|
Next
|
|
Return sum
|
|
End Function
|
|
|
|
Dim As Integer n, f
|
|
Dim As Integer sum(19999)
|
|
|
|
For n = 1 To 19999
|
|
sum(n) = SumProperDivisors(n)
|
|
Next
|
|
|
|
Print "The pairs of amicable numbers below 20,000 are :"
|
|
Print
|
|
|
|
For n = 1 To 19998
|
|
' f = SumProperDivisors(n)
|
|
f = sum(n)
|
|
If f <= n OrElse f < 1 OrElse f > 19999 Then Continue For
|
|
If f = sum(n) AndAlso n = sum(f) Then
|
|
Print Using "#####"; n;
|
|
Print " and "; Using "#####"; sum(n)
|
|
End If
|
|
Next
|
|
|
|
Print
|
|
Print "Press any key to exit the program"
|
|
Sleep
|
|
End
|