fork download
  1. def check_kaprekar(num):
  2. square = str(num**2)
  3. for i in range(1, len(square)):
  4. a,b = int(square[:i]), int(square[i:])
  5. if a+b == num and a and b:
  6. return True
  7. return False
  8.  
  9. def find_kaprekar(start, end):
  10. return [n for n in range(start, end+1) if check_kaprekar(n)]
  11.  
  12. print(find_kaprekar(2, 100))
  13. print(find_kaprekar(101, 9000))
Success #stdin #stdout 0.04s 9992KB
stdin
Standard input is empty
stdout
[9, 45, 55, 99]
[297, 703, 999, 2223, 2728, 4879, 4950, 5050, 5292, 7272, 7777]