Advertisement
serega1112

friendly numbers

Jan 13th, 2021
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.48 KB | None | 0 0
  1. k = int(input())
  2.  
  3. res = set()
  4.  
  5. def sum_divisors(n):
  6.     i = 2
  7.     res = 1
  8.     while i <= n**0.5:
  9.         if n % i == 0:
  10.             res += i
  11.             if i != n**0.5:
  12.                 res += n // i
  13.         i += 1
  14.     return res
  15.  
  16. for num in range(1, k+1):
  17.     cand = sum_divisors(num)
  18.    
  19.     if cand != num and cand <= k and sum_divisors(cand) == num:
  20.         res.add((min(num, cand), max(num, cand)))
  21.        
  22. for pair in list(res):
  23.     print(f'{pair[0]} {pair[1]}')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement