introduction
La séquence de Gijswijt ( A090822 ) est connue pour être vraiment, VRAIMENT lente. Pour illustrer:
- Les 3 premiers apparaissent dans le 9ème terme (d'accord).
- Les 4 premiers apparaissent au 220ème trimestre (loin, mais faisables).
- Les 5 premiers apparaissent à (approximativement) le 10 ^ (10 ^ 23) ème terme (tout simplement pas).
- Personne ne sait vraiment où sont les 6 premiers ... on soupçonne que c'est au ...
2 ^ (2 ^ (3 ^ (4 ^ 5))) e terme.
Vous pouvez supposer que vous n'aurez pas à traiter avec un nombre à deux chiffres.
La séquence est générée comme suit:
- Le premier terme est 1.
- Chaque terme après cela est la quantité de "blocs" de répétition qui le précède (s'il y a plusieurs "blocs" de répétition, la plus grande quantité de blocs de répétition est utilisée).
Pour clarifier, voici les premiers termes.
1 -> 1, 1
(un bloc répétitif ( 1
), donc le chiffre enregistré est 1
)
1, 1 -> 1, 1, 2
(deux blocs répétitifs ( 1
), donc le chiffre enregistré est 2
)
1, 1, 2 -> 1, 1, 2, 1
(un bloc répétitif ( 2
ou 1, 1, 2
), donc le chiffre enregistré est 1
)
1, 1, 2, 1 -> 1, 1, 2, 1, 1
(vous avez eu l'idée)
1, 1, 2, 1, 1 -> 1, 1, 2, 1, 1, 2
1, 1, 2, 1, 1, 2 -> 1, 1, 2, 1, 1, 2, 2
(deux blocs répétitifs ( 1, 1, 2
), donc le chiffre enregistré est 2
)
Tâche
Votre tâche consiste, comme indiqué dans la question, à générer n chiffres de la séquence de Gijswijt.
Instructions
- L'entrée sera un entier
n
. - Votre code peut sortir les chiffres sous n'importe quelle forme (une liste, plusieurs sorties, etc.).
C'est le code golf, donc le code le plus court en octets l'emporte.
._
fonction et les autres fonctions utiles en Pyth.