20 lines
387 B
Text
20 lines
387 B
Text
|
|
function isPerfect(n)
|
||
|
|
if (n < 2) or (n mod 2 = 1) then return False
|
||
|
|
#asumimos que los números impares no son perfectos
|
||
|
|
sum = 1
|
||
|
|
for i = 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 "Los primeros 5 números perfectos son:"
|
||
|
|
for i = 2 to 233550336
|
||
|
|
if isPerfect(i) then print i; " ";
|
||
|
|
next i
|
||
|
|
end
|