Entrada:
Um número inteiro positivo n que consiste em dígitos no intervalo de 0 a 9 .
Desafio:
Se d é o dígito mais alto do número inteiro, assuma que a base do número é d + 1 . Por exemplo, se o número inteiro é 1256 , você deve assumir que está na base-7 , se for 10110 , deve assumir que é a base-2 (binária) e, se for 159 , é decimal.
Agora, faça o seguinte até você: 1: atingir um número inteiro de base 10 ou 2: alcançar um número inteiro de um dígito.
- Converta o número inteiro de base- (d + 1) em base-10
- Encontre a base desse novo número inteiro (novamente, base- (d + 1) onde d é o dígito mais alto do novo número)
- Vá para o passo 1 .
Exemplos:
Suponha que a entrada seja n = 413574 . O dígito mais alto d = 7 , então isso é base-8 (octal). Converta isso em decimal e obtenha 137084 . O dígito mais alto d = 8 , então isso é base-9 . Converta isso em decimal e obtenha 83911 . O dígito mais alto é 9 , então esse é um número decimal e paramos. A saída deve ser 83911 .
Suponha que a entrada seja n = 13552 . O dígito mais alto é d = 5 , então isso é base-6 . Converta isso em decimal e obtenha 2156 . O dígito mais alto d = 6 , então isso é base-7 . Converta isso em decimal e obtenha 776 . O dígito mais alto é d = 7 , então isso é base-8 . Converta isso em decimal e obtenha 510 . O dígito mais alto é d = 5 portanto é a base-6 . Converta isso em decimal e obtenha 186 . O dígito mais alto é 8 , então é a base-9 . Converta isso para decimal e obtenha 159 . O dígito mais alto é 9, então esse é um número decimal e paramos. A saída deve ser 159 .
Suponha que a entrada seja n = 17 . Isso nos dará 15 , depois 11 e 3 , que produziremos uma vez que é um dígito único.
Casos de teste:
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
Notas:
- Regras padrão sobre E / S, brechas, etc. Você pode considerar a entrada como uma string
- As explicações são incentivadas
- Você pode usar comandos internos de conversão de base
- As soluções que não usam as funções internas de conversão de base da linguagem (se existirem) são bem-vindas, mesmo que elas acabem sendo muito mais longas do que a abordagem óbvia usando funções internas.
Aparentemente, esse é o OEIS A091047 .