Guest User

Untitled

a guest
Dec 9th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. import math
  2.  
  3. def devis(n):
  4. # список для записи делителей
  5. res = []
  6. for i in range(1, round(math.sqrt(n))+1):
  7. if n%i == 0:
  8. res.append(i)
  9. # не допускам повторов делителей
  10. if i*i != n:
  11. res.append(n//i)
  12. res.sort()
  13. return res
  14.  
  15. # Список первых нескольких полусовершенных чисел:
  16. for num in range(2, 300):
  17. aa = devis(num)
  18. s = num
  19. for i in aa[-2::-1]:
  20. if s-i>0:
  21. s = s - i
  22. elif s-i==0:
  23. print(num, sep=' ', end=', ')
  24. break
Add Comment
Please, Sign In to add comment