Entrada:
Un entero positivo n que consta de dígitos en el rango 0-9 .
Reto:
Si d es el dígito más alto en el entero, suponga que la base del número es d + 1 . Por ejemplo, si el número entero es 1256 , supondrá que está en base-7 , si es 10110 , supondrá que es base-2 (binario), y si es 159, entonces es decimal.
Ahora, haga lo siguiente hasta que: 1: alcance un entero de base 10 o 2: alcance un entero de un solo dígito.
- Convierta el número entero de base- (d + 1) a base-10
- Encuentre la base de este nuevo entero (nuevamente, base- (d + 1) donde d es el dígito más alto en el nuevo número)
- Ve al paso 1 .
Ejemplos:
Suponga que la entrada es n = 413574 . El dígito más alto d = 7 , entonces esto es base-8 (octal). Convierta esto a decimal y obtenga 137084 . El dígito más alto d = 8 , entonces esto es base-9 . Convierta esto a decimal y obtenga 83911 . El dígito más alto es 9 , entonces este es un número decimal y nos detenemos. La salida será 83911 .
Suponga que la entrada es n = 13552 . El dígito más alto es d = 5 , por lo que es base-6 . Convierta esto a decimal y obtenga 2156 . El dígito más alto d = 6 , entonces esto es base-7 . Convierte esto a decimal y obtén 776 . El dígito más alto es d = 7 , por lo que es base-8 . Convierta esto a decimal y obtenga 510 . El dígito más alto es d = 5, por lo que es base-6 . Convierta esto a decimal y obtenga 186 . El dígito más alto es 8 , por lo que es base-9 . Convierte esto a decimal y obtén 159. El dígito más alto es 9 , entonces este es un número decimal y nos detenemos. El resultado será 159 .
Suponga que la entrada es n = 17 . Esto nos dará 15 , luego 11 , luego 3 , que mostraremos ya que es un solo dígito.
Casos de prueba:
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:
- Reglas estándar sobre E / S, lagunas, etc. Puede tomar la entrada como una cadena
- Se alientan las explicaciones.
- Puede usar comandos de conversión de base incorporados
- Las soluciones que no utilizan las funciones integradas de conversión de bases del lenguaje (si existen) son bienvenidas, incluso si terminan siendo mucho más largas que el enfoque obvio que usa funciones incorporadas.
Aparentemente, esto es OEIS A091047 .