14_recipes.py 504 B

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