Números Rounaround


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 16M

Author:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Prolog, Python, Swift, VB

Los números Runaround son enteros con dígitos únicos, ninguno de los cuales es cero (por ejemplo, 81362). Además ellos tienen una curiosa propiedad, ejemplificada por esta demostración:

  • Si usted comienza siempre por el dígito más a la izquierda (8 en nuestro número) y cuenta esa cantidad de dígitos a la derecha (regresando al lado izquierdo del número cuando ningún dígito a la derecha está‚ disponible), usted acabará en un nuevo dígito (un número en el cual no se termina en un nuevo dígito no es un número Runaround). Considere el número 81362, en el cual se comienza contando 8 dígitos: 1 3 6 2 8 1 3 6 terminando en el dígito "6" siendo este el que determina la próxima cantidad a contar.

  • Repitiendo el ciclo anterior (esta vez para 6) se obtiene: 2 8 1 3 6 2, y usted finaliza en un nuevo dígito, es decir "2".

  • Repita otra vez (esta vez para 2) y se obtiene: 8 1.

  • Continúe otra vez (para 1) y se obtiene: 3.

  • Una vez más (para 3) obteniéndose 6 2 8 y usted ha finalizado en el dígito donde comenzó, después de ser tocado una vez cada dígito del número original. Si usted no finaliza donde comenzó después de tocar cada dígito una vez, su número no es un número Runaround.

Entrada

Entrar un número N (1 ≤ N ≤ 1000 000) cualquiera.

Salida

Encontrar el próximo número Runaround mayor que N.

Ejemplo de Entrada

81361

Ejemplo de Salida

81362

Comments

There are no comments at the moment.