14_recipes.py 488 B

123456789101112131415161718192021
  1. #!/usr/bin/env python3
  2. s = n = 440231
  3. nb = bytes()
  4. while s:
  5. s, d = divmod(s, 10)
  6. nb = bytes((d,)) + nb
  7. scores = bytearray((3, 7))
  8. a, b = 0, 1
  9. while len(scores) <= 11 + n or nb not in scores[-8:]:
  10. sa = scores[a]
  11. sb = scores[b]
  12. s = sa + sb
  13. if s >= 10:
  14. scores.append(s // 10)
  15. scores.append(s % 10)
  16. a = (a + 1 + sa) % len(scores)
  17. b = (b + 1 + sb) % len(scores)
  18. print(''.join(chr(x + ord('0')) for x in scores[n:n + 10]))
  19. print(scores.rindex(nb))