Skip to content

Capicúas Recursivo

Gonzalo Lopez edited this page Oct 2, 2019 · 3 revisions

Problema: Escriba una función recursiva para determinar si un número entero es capicúa (palindromo).

Ejemplos:

  1. Si num = 14541, Retorna: true; El número es capicúa.

  2. 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:

Clone this wiki locally