Вступ
Послідовність Gijswijt ( A090822 ) справді відома, дійсно повільна. Проілюструвати:
- Перші 3 з'являються у 9-му секторі (добре).
- Перші 4 з'являються в 220-му терміні (далеко, але здійсненно).
- Перші 5 з'являються у (приблизно) 10 ^ (10 ^ 23) -му терміні (просто немає).
- Ніхто навіть не знає, де знаходиться перша 6 ... підозрюється, що це на ...
2 ^ (2 ^ (3 ^ (4 ^ 5))) термін.
Ви можете припустити, що вам не доведеться мати справу з двозначним числом.
Послідовність генерується так:
- Перший термін - 1.
- Кожен доданок після цього - це кількість повторюваних "блоків", попередніх до нього (якщо є кілька повторюваних "блоків", використовується найбільша кількість повторюваних блоків).
Для уточнення ось кілька перших термінів.
1 -> 1, 1
(один повторюваний блок ( 1
), значить записана цифра є 1
)
1, 1 -> 1, 1, 2
(два повторювані блоки ( 1
), тож записана цифра є 2
)
1, 1, 2 -> 1, 1, 2, 1
(один повторюваний блок ( 2
або 1, 1, 2
), значить записана цифра є 1
)
1, 1, 2, 1 -> 1, 1, 2, 1, 1
(Ви отримуєте ідею)
1, 1, 2, 1, 1 -> 1, 1, 2, 1, 1, 2
1, 1, 2, 1, 1, 2 -> 1, 1, 2, 1, 1, 2, 2
(два повторювані блоки ( 1, 1, 2
), тож записана цифра є 2
)
Завдання
Ваше завдання полягає у формуванні n цифр послідовності Gijswijt.
Інструкції
- Вхід буде цілим числом
n
. - Ваш код може виводити цифри в будь-якій формі (список, кілька виходів тощо).
Це код гольфу, тому найкоротший код у байтах виграє.
._
функції та інші корисні функції в Pyth.