problem92.py 280 B

12345678910111213141516
  1. def digits(n):
  2. return [n] if n < 10 else digits(n / 10) + [n % 10]
  3. def quad(n):
  4. return n * n
  5. def end(s):
  6. return s if s == 1 or s == 89 else end(sum(map(quad, digits(s))))
  7. count = 0
  8. for n in xrange(1, 10000000):
  9. if end(n) == 89:
  10. count += 1
  11. print count