Capicúas Recursivo - dambort/algos GitHub Wiki
Problema: Escriba una función recursiva para determinar si un número entero es capicúa (palindromo).
Ejemplos:
-
Si num = 14541, Retorna: true; El número es capicúa.
-
Si num = 12322, Retorna: false; El número no es capicúa.
Idea del algoritmo:
- Si el numero ingresado es menor a 10 retorna true, todo numero de un dígito es capicúa.
- Si no, se guarda el ultimo dígito del numero.
- Se calcula y se guarda el primer dígito del numero.
- Si el primer y ultimo dígito son el mismo se vuelve a llamar a la funcion capicua_rec() enviando como parámetro el numero ingresado sin el primer y ultimo dígito.
- En cambio si el primer y ultimo dígito no son iguales se retorna false y termina la función.
Otra forma de saber si un numero es capicúa puede ser utilizando la función [reverso de un número] (https://github.com/dambort/algos/wiki/Reverso-de-un-N%C3%BAmero) y comparar su resultado con el número ingresado.
Código
Disponible en Enciclopedia Algoritmos C++
Ejemplo de uso
Disponible en ejemplo capicúas recursivo
Complejidad: -
En Ideone
Ver código y ejecución en línea en [-]
Problemas en sitios jueces que sobre números capicúa.
Colaborador autor del artículo: