Ingresso:
Un numero intero positivo n costituito da cifre nell'intervallo 0-9 .
Sfida:
Se d è la cifra più alta nell'intero, supponiamo che la base del numero sia d + 1 . Ad esempio, se il numero intero è 1256 , supponiamo che sia in base-7 , se è 10110, allora devi assumere che è base-2 (binario), e se è 159 allora è decimale.
Ora, procedi come segue fino a quando: 1: raggiungi un numero intero di base 10 o 2: raggiungi un numero intero a una cifra.
- Convertire il numero intero da base- (d + 1) a base-10
- Trova la base di questo nuovo numero intero (di nuovo, base- (d + 1) dove d è la cifra più alta nel nuovo numero)
- Vai al passaggio 1 .
Esempi:
Supponiamo che l'input sia n = 413574 . La cifra più alta d = 7 , quindi questa è base-8 (ottale). Convertire questo in decimale e ottenere 137084 . La cifra più alta d = 8 , quindi questa è base-9 . Converti questo in decimale e ottieni 83911 . La cifra più alta è 9 , quindi questo è un numero decimale e ci fermiamo. L'output deve essere 83911 .
Supponiamo che l'ingresso sia n = 13552 . La cifra più alta è d = 5 , quindi questa è base-6 . Converti questo in decimale e ottieni 2156 . La cifra più alta d = 6 , quindi questa è base-7 . Converti questo in decimale e ottieni 776 . La cifra più alta è d = 7 , quindi questa è base-8 . Converti questo in decimale e ottieni 510 . La cifra più alta è d = 5, quindi questa è base-6 . Converti questo in decimale e ottieni 186 . La cifra più alta è 8 , quindi questa è base-9 . Converti questo in decimale e ottieni 159. La cifra più alta è 9 , quindi questo è un numero decimale e ci fermiamo. L'output deve essere 159 .
Supponiamo che l'ingresso sia n = 17 . Questo ci darà 15 , quindi 11 , quindi 3 , che emetteremo poiché è una singola cifra.
Casi test:
5
5
17
3
999
999
87654321 (base-9 -> 42374116 in decimal -> base-7 -> 90419978 in decimal)
9041998
41253 (5505 -> 1265 -> 488 -> 404 -> 104 -> 29)
29
Gli appunti:
- Regole standard relative a I / O, scappatoie, ecc. È possibile prendere l'input come stringa
- Le spiegazioni sono incoraggiate
- È possibile utilizzare i comandi di conversione di base incorporati
- Le soluzioni che non utilizzano le funzioni di conversione base incorporate del linguaggio (se esistono) sono benvenute, anche se finiscono per essere molto più lunghe dell'approccio ovvio che utilizza le funzioni integrate.
Apparentemente, questo è OEIS A091047 .