Wprowadzenie
Sekwencja Gijswijta ( A090822 ) jest naprawdę, NAPRAWDĘ powolna. Ilustrować:
- Pierwsze 3 pojawiają się w 9 kadencji (w porządku).
- Pierwsze 4 pojawiają się w 220 kadencji (daleko, ale wykonalne).
- Pierwsze 5 pojawia się w (w przybliżeniu) 10 ^ (10 ^ 23) th (tylko nie).
- Nikt tak naprawdę nawet nie wie, gdzie jest pierwsza 6 ... podejrzewa się, że jest na ...
2 ^ (2 ^ (3 ^ (4 ^ 5))) termin.
Możesz założyć, że nie będziesz musiał mieć do czynienia z dwucyfrowym numerem.
Sekwencja jest generowana w następujący sposób:
- Pierwszy termin to 1.
- Każdy następny termin to ilość powtarzających się „bloków” poprzedzających go (jeśli istnieje wiele powtarzających się „bloków”, używana jest największa liczba powtarzających się bloków).
Aby to wyjaśnić, oto kilka pierwszych warunków.
1 -> 1, 1
(jeden powtarzający się blok ( 1
), więc zapisana cyfra to 1
)
1, 1 -> 1, 1, 2
(dwa powtarzające się bloki ( 1
), więc zapisana cyfra to 2
)
1, 1, 2 -> 1, 1, 2, 1
(jeden powtarzający się blok ( 2
lub 1, 1, 2
), więc zapisana cyfra to 1
)
1, 1, 2, 1 -> 1, 1, 2, 1, 1
(Masz pomysł)
1, 1, 2, 1, 1 -> 1, 1, 2, 1, 1, 2
1, 1, 2, 1, 1, 2 -> 1, 1, 2, 1, 1, 2, 2
(dwa powtarzające się bloki ( 1, 1, 2
), więc zapisana cyfra to 2
)
Zadanie
Twoim zadaniem jest, jak stwierdzono w pytaniu, wygenerowanie n cyfr sekwencji Gijswijt.
Instrukcje
- Wejście będzie liczbą całkowitą
n
. - Twój kod może wypisywać cyfry w dowolnej formie (lista, wiele wyników itp.).
To jest kod golfowy, więc wygrywa najkrótszy kod w bajtach.
._
funkcji i innych przydatnych funkcjach w Pyth.