2026 p2 Invertir y Sumar

Ver en PDF

Enviar solución

Puntos: 100
Límite de tiempo: 0.2s
Límite de memoria: 64M

Autor:
Tipo de problema
Lenguajes permitidos
C, C++, Java, Python

La función de invertir y sumar; parte de un número del que se obtiene otro con el orden de sus dígitos invertidos, y sumando ambos. Si la suma no es un capicúa (es decir, es distinto número cuando se lee de izquierda a derecha que de derecha a izquierda), se repetirá el procedimiento.

Por ejemplo, si comenzamos con 195 como número inicial, obtendremos el capicúa 9339 después de la cuarta operación (vea que 9339 representa el mismo número si se lee de izquierda a derecha que de derecha a izquierda).

195 + 591 = 786

786 + 687 = 1473

1473 + 3741 = 5214

5214 + 4125 = 9339

Este método hace que la mayoría de los enteros de evolucionen hacia los capicúas en unos pocos pasos.

PROBLEMA

Debes escribir un programa que obtenga un capicúa a partir de un número inicial y devuelva el capicúa resultante (si es que existe uno), y el número de iteraciones/sumas necesarias para llegar a él.

Se puede suponer que todos los números utilizados como casos de prueba tiene una solución a la que se llega en menos de 1,000 operaciones, y que ninguno de los capicuos será mayor que 4,294,967,295.

ENTRADA

Tu programa deberá leer una sola línea conteniendo el número 1<= N <=2147483647 inicial a partir del cual debemos calcular el capicúa.

SALIDA

Tu programa deberá escribir una sola línea 2 números el primer número será el numero capicúa y el segundo número será la cantidad de iteraciones/sumas necesarias para obtener el capicúa de acuerdo al método explicado con anterioridad, en caso de que no exista un capicúa en las 1000 iteraciones/sumas o que sobrepase del numero 2147483647 tu programa deberá escribir una sola línea conteniendo un -1 (menos uno).

Ejemplos

Entrada A

195

Salida A

9339   4

Entrada B

167

Salida B

88555588 11

Comentarios

No hay comentarios por el momento.