Definiamo un numero indipendente come un numero intero positivo, le cui cifre appaiono in serie di lunghezza pari solo a se stesse. In altre parole, qualsiasi cifra decimale d (escluso 0 ) si verifica solo in esecuzioni di lunghezza esattamente d .
Compito
Puoi scegliere uno dei tre metodi elencati di seguito:
- Dato un intero n , uscita n ° (0 o 1-indicizzati) Numero autonoma.
- Dato un numero intero n , genera i primi n numeri indipendenti.
- Stampa la sequenza indefinitamente.
Esempi
133322 è un numero autonomo perché 3 appare in una sequenza di tre 3 , 1 è singolo e 2 si verifica in una sequenza di due 2 .
D'altra parte, 35553355 non lo è, perché, sebbene 5 e 3 si verifichino rispettivamente cinque e tre volte, non formano sequenze di cifre adiacenti.
44422 non è autonomo, perché 4 si verifica solo tre volte.
Neanche 12222333 , perché 2 appare in una sequenza di quattro 2 e non può essere trattato come due corse separate di due 2 .
Non sorprende che questo sia OEIS A140057 e i suoi primi termini sono:
1, 22, 122, 221, 333, 1221, 1333, 3331, 4444, 13331, 14444, 22122, 22333, 33322, 44441, 55555, 122122, 122333, 133322, 144441, 155555
Puoi prendere input e fornire output attraverso uno qualsiasi dei metodi standard , in qualsiasi linguaggio di programmazione , osservando che queste scappatoie sono proibite per impostazione predefinita. Questo è il codice golf, quindi vince il codice più breve in byte (in ogni lingua).
i
diventa un lungo ? Potrebbe essere necessario utilizzarestr
(non sono mai veramente sicuro di queste cose però).