Définissons un nombre autonome comme un entier positif, dont les chiffres apparaissent dans des longueurs égales à eux-mêmes uniquement. En d'autres termes, tout chiffre décimal d (à l'exclusion de 0 ) n'apparaît que dans des séries de longueur exactement d .
Tâche
Vous pouvez choisir l'une des trois méthodes énumérées ci-dessous:
- Étant donné un entier n , sortez le n ème nombre (indexé 0 ou 1).
- Étant donné un entier n , sortez les n premiers nombres autonomes.
- Imprimez la séquence indéfiniment.
Exemples
133322 est un nombre autonome car 3 apparaît dans une séquence de trois 3 , 1 est unique et 2 apparaît dans une séquence de deux 2 .
D'un autre côté, 35553355 ne l'est pas, car, bien que 5 et 3 se produisent respectivement cinq et trois fois, ils ne forment pas des séries de chiffres adjacents.
44422 n'est pas autonome, car 4 n'apparaît que trois fois.
12222333 n'est pas non plus, car 2 apparaît dans une série de 4 2 et il ne peut pas être traité comme deux séries distinctes de 2 2 .
Sans surprise, il s'agit d' OEIS A140057 , et ses premiers termes sont:
1, 22, 122, 221, 333, 1221, 1333, 3331, 4444, 13331, 14444, 22122, 22333, 33322, 44441, 55555, 122122, 122333, 133322, 144441, 155555
Vous pouvez prendre des entrées et fournir des sorties via l'une des méthodes standard , dans n'importe quel langage de programmation , tout en notant que ces failles sont interdites par défaut. Il s'agit du code golf, donc le code le plus court en octets (dans toutes les langues) gagne.
i
devient long ? Il peut être nécessaire de l' utiliserstr
(je ne suis cependant jamais vraiment sûr de ces choses).