Palíndromo utilizando recursividad

CCBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos a verificar si un número dado es un palíndromo utilizando la recursividad en el lenguaje de programación C. Un palíndromo es una secuencia que, si se invierte, se ve idéntica a la secuencia original. Por ejemplo: abba, level, 999, etc.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/FunctionsGroup(["Functions"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/ControlFlowGroup -.-> c/if_else("If...Else") c/FunctionsGroup -.-> c/function_declaration("Function Declaration") c/FunctionsGroup -.-> c/function_parameters("Function Parameters") c/FunctionsGroup -.-> c/recursion("Recursion") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/if_else -.-> lab-123297{{"Palíndromo utilizando recursividad"}} c/function_declaration -.-> lab-123297{{"Palíndromo utilizando recursividad"}} c/function_parameters -.-> lab-123297{{"Palíndromo utilizando recursividad"}} c/recursion -.-> lab-123297{{"Palíndromo utilizando recursividad"}} c/user_input -.-> lab-123297{{"Palíndromo utilizando recursividad"}} c/output -.-> lab-123297{{"Palíndromo utilizando recursividad"}} end

Crear una función principal

En el archivo main.c, cree una función principal que tenga el siguiente bloque de código. Recibe un entero del usuario y luego llama a la función isPal para verificar si el número es un palíndromo o no.

#include<stdio.h>
int isPal(int );
int n;
int main()
{
  printf("\nEnter a number to check for Palindrome: ");
  scanf("%d", &n);
  isPal(n);
  return 0;
}

Crear la función isPal utilizando recursividad.

La función isPal tomará un entero como argumento y devolverá si es un palíndromo o no. Utiliza la recursividad para comprobar la condición de palíndromo. Si la condición de palíndromo se satisface, devolverá un valor de 1, lo que indica que el número ingresado es un palíndromo; de lo contrario, devolverá 0.

int isPal(int aj)
{
    static int sum = 0;
    if(aj!= 0)
    {
        sum = sum *10 + aj%10;
        isPal(aj/10);
    }
    else if(sum == n)
        printf("%d es palíndromo.\n",n);
    else
        printf("%d no es palíndromo.\n",n);
    return 0;
}

Compilar y ejecutar el código

Compile el código utilizando el siguiente comando: gcc -o main main.c

Ejecute el código utilizando el siguiente comando: ./main

Ingrese el número que se debe comprobar si es un palíndromo o no.

Salida del programa

La salida del programa mostrará si el número de entrada proporcionado es un palíndromo o no.

Resumen

En este laboratorio, aprendimos cómo comprobar si un número dado es un palíndromo utilizando la recursividad con un programa en C. El palíndromo es un concepto importante en informática y se utiliza en diversas aplicaciones, incluyendo algoritmos de coincidencia de cadenas. Esperamos que este laboratorio haya ayudado a comprender la recursividad y los conceptos del lenguaje de programación C.