Um número inteiro positivo pode ser representado em uma base inteira 1 <= b < inf
.
Quando convertido para essa base, possui algum número de dígitos distintos.
Qualquer número inteiro positivo na base 1
possui 1
um dígito distinto.
A maioria dos números inteiros positivos na base 2
tem 2
dígitos distintos, as exceções são aquelas da forma 2^n - 1
, que possuem apenas 1
.
Portanto, o primeiro número inteiro positivo que pode ser representado em uma base inteira com 1
dígito único é 1
e o primeiro que pode ser representado com 2
dígitos distintos é 2
.
Podemos dizer que 1
é o primeiro número inteiro com diversidade digital 1
e 2
é o primeiro número inteiro com diversidade digital 2
.
Desafio:
Dado um número inteiro positivo, n
retorne o primeiro número inteiro positivo (na base dez *) que possui uma diversidade digital de n
.
* se o seu idioma suportar apenas uma base específica (por exemplo, unária ou binária), você poderá produzir nessa base.
Seu algoritmo deve funcionar em teoria para qualquer entrada inteira positiva: pode falhar porque a precisão do número inteiro do seu idioma é muito pequena para a saída; mas pode não falhar porque a conversão básica é definida apenas até algum limite.
Casos de teste
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
Isso é código-golfe , a solução mais curta em bytes vence.
OEIS: A049363 - também o menor número pandigital na base n.