Палиндром с использованием рекурсии

CBeginner
Практиковаться сейчас

Введение

В этом практическом занятии мы научимся проверять, является ли заданное число палиндромом, используя рекурсию в языке программирования C. Палиндромом называется последовательность, которая при обратном чтении выглядит идентично исходной последовательности. Например: abba, level, 999 и т.д.

Создайте главную функцию

В файле main.c создайте функцию main с следующим блоком кода. Она получает целое число от пользователя и затем вызывает функцию isPal для проверки, является ли число палиндромом.

#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;
}

Создайте функцию isPal с использованием рекурсии

Функция isPal будет принимать целое число в качестве аргумента и возвращать, является ли оно палиндромом или нет. Она использует рекурсию для проверки условия палиндромности. Если условие палиндромности выполняется, она вернет значение 1, что означает, что введенное число является палиндромом; в противном случае она вернет 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 is palindrome.\n",n);
    else
        printf("%d is not palindrome.\n",n);
    return 0;
}

Компилируйте и запускайте код

Компилируйте код с использованием следующей команды: gcc -o main main.c

Запустите код с использованием следующей команды: ./main

Введите число, которое необходимо проверить на палиндромность.

Результат программы

Вывод программы покажет, является ли введенное число палиндромом или нет.

Резюме

В этом практическом занятии мы узнали, как с использованием рекурсии в C-программе проверять, является ли данное число палиндромом. Палиндром - это важный концепт в информатике и используется в различных приложениях, в том числе в алгоритмах сопоставления строк. Надеемся, что это практическое занятие помогла в понимании рекурсии и концепций языка программирования C.