---------------------------
import math
def is_perfect_number(n):
if n < 1:
return False
divisors_sum = 0
limit = int(math.sqrt(n))
for i in range(1, limit + 1):
if n % i == 0:
divisors_sum += i
# Ha az osztópár nem önmaga és nem a négyzetgyök
if i != 1 and i != n // i:
divisors_sum += (n // i)
return divisors_sum == n
print("Tökéletes számok 1 000 000-ig:")
for num in range(1, 10000):
if is_perfect_number(num):
print(num)
-----------
Tökéletes számok 100.000-ig:
1
6
28
496
8128
Nincsenek megjegyzések:
Megjegyzés küldése