Un repdigit è un numero naturale che può essere scritto solo ripetendo la stessa cifra. Ad esempio, 777
è una modifica, poiché è composta esclusivamente dalla cifra 7
ripetuta 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
n
può anche essere banalmente scritto come repdigit11
in basen-1
(per esempio,17
quando è scritto in esadecimale (base 16)11
e3
quando è 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 b
con (x-1) > b > 1
cui la rappresentazione delle x
della base b
è un numero a cifra ripetuta.
- Se non
b
esiste, output0
o un valore di falso . - Se ne
b
esistono più di uno, è possibile emetterne uno o tutti.
Regole
- La
(x-1) > b > 1
restrizione è 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 b
oltre quello che viene dato.
b ≤ 36
(le funzioni di conversione di base integrate di molte lingue non vanno più in alto)?