Un entier positif peut être représenté dans une base entière 1 <= b < inf
.
Lorsqu'il est converti dans cette base, il a un certain nombre de chiffres distincts.
Tout entier positif dans la base 1
a 1
un chiffre distinct.
La plupart des entiers positifs dans la base 2
ont 2
des chiffres distincts, les exceptions étant celles de la forme 2^n - 1
, qui ne l'ont que 1
.
Ainsi, le premier entier positif qui peut être représenté dans une base entière avec 1
un chiffre unique est 1
et le premier qui peut être représenté avec 2
des chiffres distincts est 2
.
On peut dire que 1
c'est le premier entier à diversité numérique 1
et 2
le premier entier à diversité numérique 2
.
Défi:
Étant donné un entier positif, n
renvoyez le premier entier positif (en base dix *) qui a une diversité numérique de n
.
* si votre langue ne prend en charge qu'une base spécifique (par exemple, unaire ou binaire), vous pouvez sortir dans cette base.
Votre algorithme doit fonctionner en théorie pour toute entrée entière positive: il peut échouer car la précision de l'entier de votre langue est trop petite pour la sortie; mais peut échouer car la conversion de base n'est définie que jusqu'à une certaine limite.
Cas de 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
C'est le code-golf , la solution la plus courte en octets gagne.
OEIS: A049363 - également le plus petit numéro pandigital dans la base n.