introduzione
La sequenza di Gijswijt ( A090822 ) è notoriamente davvero, VERAMENTE lenta. Illustrare:
- I primi 3 appaiono nel nono termine (va bene).
- Il primo 4 appare nel 220 ° termine (molto lontano, ma fattibile).
- Il primo 5 appare (approssimativamente) al 10 ^ (10 ^ 23) esimo termine (solo no).
- Nessuno sa davvero dove siano i primi 6 ... si sospetta che sia al ...
2 ^ (2 ^ (3 ^ (4 ^ 5))) th termine.
Puoi presumere che non dovrai avere a che fare con un numero a due cifre.
La sequenza viene generata in questo modo:
- Il primo termine è 1.
- Ogni termine successivo indica la quantità di "blocchi" ripetuti precedenti (se sono presenti più "blocchi" ripetuti, viene utilizzata la quantità maggiore di blocchi ripetuti).
Per chiarire, ecco i primi termini.
1 -> 1, 1(un blocco ripetuto ( 1), quindi la cifra registrata è 1)
1, 1 -> 1, 1, 2(due blocchi ripetuti ( 1), quindi la cifra registrata è 2)
1, 1, 2 -> 1, 1, 2, 1(un blocco ripetuto ( 2o 1, 1, 2), quindi la cifra registrata è 1)
1, 1, 2, 1 -> 1, 1, 2, 1, 1 (hai avuto l'idea)
1, 1, 2, 1, 1 -> 1, 1, 2, 1, 1, 2
1, 1, 2, 1, 1, 2 -> 1, 1, 2, 1, 1, 2, 2(due blocchi ripetuti ( 1, 1, 2), quindi la cifra registrata è 2)
Compito
Il tuo compito è, come indicato nella domanda, generare n cifre della sequenza Gijswijt.
Istruzioni
- L'input sarà un numero intero
n. - Il codice può generare le cifre in qualsiasi forma (un elenco, più uscite, ecc.).
Questo è il codice golf, quindi vince il codice più breve in byte.
._funzione e altre funzioni utili in Pyth.