Un numero intero positivo può essere rappresentato in una base intera 1 <= b < inf
.
Quando convertito in quella base ha un certo numero di cifre distinte.
Qualsiasi numero intero positivo nella base 1
ha 1
una cifra distinta.
La maggior parte dei numeri interi positivi nella base 2
ha 2
cifre distinte, le eccezioni sono quelle del modulo 2^n - 1
, che hanno solo 1
.
Quindi il primo numero intero positivo che può essere rappresentato in una base intera con 1
una cifra univoca è 1
e il primo che può essere rappresentato con 2
cifre distinte è 2
.
Possiamo dire che 1
è il primo intero con diversità digitale 1
ed 2
è il primo intero con diversità digitale 2
.
Sfida:
Dato un numero intero positivo, n
restituisce il primo numero intero positivo (in base dieci *) che presenta una diversità digitale di n
.
* se la tua lingua supporta solo una base specifica (ad esempio unaria o binaria), puoi generare in quella base.
Il tuo algoritmo deve funzionare in teoria per qualsiasi input intero positivo: potrebbe non funzionare perché la precisione dell'intero della tua lingua è troppo piccola per l'output; ma potrebbe non fallire perché la conversione di base è definita solo fino ad un certo limite.
Casi test
input output
1 1
2 2
3 11
4 75
5 694
6 8345
7 123717
17 49030176097150555672
20 5271200265927977839335179
35 31553934355853606735562426636407089783813301667210139
63 3625251781415299613726919161860178255907794200133329465833974783321623703779312895623049180230543882191649073441
257 87678437238928144977867204156371666030574491195943247606217411725999221158137320290311206746021269051905957869964398955543865645836750532964676103309118517901711628268617642190891105089936701834562621017362909185346834491214407969530898724148629372941508591337423558645926764610261822387781382563338079572769909101879401794746607730261119588219922573912353523976018472514396317057486257150092160745928604277707892487794747938484196105308022626085969393774316283689089561353458798878282422725100360693093282006215082783023264045094700028196975508236300153490495688610733745982183150355962887110565055971546946484175232
Questo è code-golf , la soluzione più breve in byte vince.
OEIS: A049363 - anche il numero pandigitale più piccolo nella base n.