Un repdigit è un numero naturale che può essere scritto solo ripetendo la stessa cifra. Ad esempio, 777è una modifica, poiché è composta esclusivamente dalla cifra 7ripetuta tre volte.
Questo non si limita ai soli numeri decimali (base 10), tuttavia:
- Ogni numero di Mersenne (nella forma M n = 2 n -1 ) è un riporto se scritto in binario (base 2).
- Ogni numero è banalmente una riprogettazione quando scritto in unario (base 1).
- Ogni numero
npuò anche essere banalmente scritto come repdigit11in basen-1(per esempio,17quando è scritto in esadecimale (base 16)11e3quando è scritto anche in binario (base 2)11).
La sfida qui è trovare altre basi in cui il numero di input può essere una modifica.
Ingresso
Un numero intero positivo x > 3, in qualsiasi formato conveniente.
Produzione
Un numero intero positivo bcon (x-1) > b > 1cui la rappresentazione delle xdella base bè un numero a cifra ripetuta.
- Se non
besiste, output0o un valore di falso . - Se ne
besistono più di uno, è possibile emetterne uno o tutti.
Regole
- La
(x-1) > b > 1restrizione è impedire le banali conversioni alla base unaria o "sottrarre una". Il numero di output può essere scritto in unario o in qualsiasi base conveniente, ma la base stessa non deve essere una delle conversioni banali. - L'ingresso / uscita può avvenire con qualsiasi metodo adatto .
- Si applicano le restrizioni standard sulle scappatoie .
Esempi
In --> Out
11 --> 0 (or other falsey value)
23 --> 0 (or other falsey value)
55 --> 10 (since 55 is 55 in base 10)
90 --> 14 (since 90 is 66 in base 14 ... 17, 29, 44 also allowed)
91 --> 9 (since 91 is 111 in base 9 ... 12 also allowed)
b ≤ 36 gravemente l'ambito di questo problema, e tutte le risposte esistenti gestiscono correttamente basi più grandi, quindi sto per dire di no, non puoi assumere un limite superiore boltre quello che viene dato.

b ≤ 36(le funzioni di conversione di base integrate di molte lingue non vanno più in alto)?