Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- def devis(n):
- # список для записи делителей
- res = []
- for i in range(1, round(math.sqrt(n))+1):
- if n%i == 0:
- res.append(i)
- # не допускам повторов делителей
- if i*i != n:
- res.append(n//i)
- res.sort()
- return res
- # Список первых нескольких полусовершенных чисел:
- for num in range(2, 300):
- aa = devis(num)
- s = num
- for i in aa[-2::-1]:
- if s-i>0:
- s = s - i
- elif s-i==0:
- print(num, sep=' ', end=', ')
- break
Add Comment
Please, Sign In to add comment