fork download
  1. def cycle(digits, position):
  2. if isinstance(digits, int):
  3. digits = list(map(int, str(digits)))
  4. if not digits:
  5. return position
  6. if position == "Off":
  7. return cycle(digits[1:], "Blue")
  8. elif position == "Blue":
  9. if digits[0] == 2:
  10. return cycle(digits[1:], "Blue")
  11. else:
  12. return cycle(digits[1:], "Red")
  13. elif position == "Red":
  14. if digits[0] == 2:
  15. return cycle(digits[1:], "Red")
  16. else:
  17. return cycle(digits[1:], "Off")
  18.  
  19. integer = 1
  20.  
  21. while True:
  22. integer += 1
  23. if not (set(str(integer)) - {"1", "2"}):
  24. if [cycle(integer, "Off"), cycle(integer, "Blue"), cycle(integer, "Red")] == ["Off"] * 3:
  25. print(integer)
  26. break
Success #stdin #stdout 0.24s 6948KB
stdin
Standard input is empty
stdout
211211