fork download
  1. from math import ceil
  2.  
  3. def dsum(num):
  4. res = 1
  5. for k in range(2, int(num**.5) + 1):
  6. if num % k == 0:
  7. res += k + num//k
  8. return res
  9.  
  10.  
  11. my_list = [0]*101
  12. my_set = set()
  13. for i in range(1, 101):
  14.  
  15. for j in range(1000*i - 999, 1000*i+1):
  16. if j not in my_set:
  17. ssum1 = dsum(j)
  18.  
  19. if ssum1 < 100001:
  20. ssum2 = dsum(ssum1)
  21. if ssum2 == j and ssum1 != ssum2:
  22. m = ceil(ssum1/1000)
  23. my_list[i] += 1
  24. my_list[m] += 1
  25. my_set |= {ssum1, ssum2}
  26.  
  27. for i in range(1, 11):
  28. print(f'({i*1000-999}, {i*1000}): {my_list[i]}')
Success #stdin #stdout 1.7s 9104KB
stdin
abc
abc
stdout
(1, 1000): 2
(1001, 2000): 2
(2001, 3000): 2
(3001, 4000): 0
(4001, 5000): 0
(5001, 6000): 2
(6001, 7000): 2
(7001, 8000): 0
(8001, 9000): 0
(9001, 10000): 0