Введение в палиндром в C ++

Палиндром - это число, последовательность или слово, которое читается так же, как и вперед. Мадам В Эдеме я - Адам, это один из лучших примеров палиндромных слов, которые после реверса звучат одинаково. Здесь палиндром делает вещи интересными, они действуют как зеркала. Название «палиндром» на самом деле означает бегство назад в соответствии с греческой этимологией. В C ++ число палиндрома - это число, которое остается неизменным после обратного. Но как это возможно? Как мы будем проверять, является ли число слишком большим и сложным? Всегда имейте в виду этот маленький алгоритм, чтобы проверить, является ли число палиндромом или нет.

  1. Получить номер ввода от пользователя.
  2. Держите его во временной переменной.
  3. Обратный номер.
  4. После реверса сравните его с временной переменной.
  5. Если то же самое, то число является палиндромом.

Не беспокойтесь, вот пример: предположим, что мы должны печатать палиндромы между заданным диапазоном чисел. Например, диапазон равен (10, 122), тогда выходные данные должны быть (11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121)

C ++ программа для реализации палиндрома

#include
using namespace std;
// Function to check if a number is a palindrome or not.
int Palindrome(int n)
(
// Find reverse of n
int reverse = 0;
for (int i = n; i > 0; i /= 10)
reverse = reverse*10 + i%10;
// To check if they are same
return (n==reverse);
)
//function to prints palindrome between a minimum and maximum number
void countPalindrome(int minimum, int maximum)
(
for (int i = minimum ; i <= maximum; i++)
if (Palindrome(i))
cout << i << " ";
)
// program to test above functionality
int main()
(
countPalindrome(100, 2000);
return 0;
)

Выход:

Давайте рассмотрим еще один пример, в частности, используя цикл while, который также объяснит алгоритм, который мы обсуждали во введении. Мы примем число в качестве ввода от пользователя и проверим, палиндром это или нет.

C ++ программа для проверки, является ли число палиндромом или нет

#include
using namespace std;
int main()
(
int n, sum=0, temp, reverse;
cout<<"Please enter the Number=";
cin>>n;
temp=n;
while(n>0)
(
reverse=n%10;
sum=(sum*10)+reverse;
n=n/10;
)
if(temp==sum)
cout<<"The number is Palindrome.";
else
cout<<"The number is not Palindrome.";
return 0;
)

Выход:

Приведенный выше код будет принимать число как ввод от пользователя и помещать его во временную переменную, поскольку вы можете видеть, что сумма уже равна 0, он будет использовать цикл while, пока число не станет равным 0, и когда код будет записан, он выполнит операция, как написано после цикла while. Если число становится 0, тогда оно проверит, равна ли временная переменная сумме или нет. Если условие удовлетворяет, то будет напечатано, что число является палиндромом, в противном случае, если условие не выполнится, оно перейдет к другой части и напечатает, что число не является палиндромом.

Еще один пример использования цикла do-while, который также объяснит алгоритм, который мы обсуждали во введении. Мы примем число в качестве ввода от пользователя и проверим, палиндром это или нет.

C ++ программа для проверки, является ли число палиндромом или нет

#include
using namespace std;
int main()
(
int x, number, reverse = 0, temp ;
cout << "Please enter a number here: ";
cin >> number;
x = number;
do
(
temp = number % 10;
reverse = (reverse * 10) + temp;
number = number / 10;
) while (number != 0);
cout << " The reverse of the number is: " << reverse << endl;
if (x == reverse)
cout << " Entered number is a Palindrome.";
else
cout << " Entered number is not a Palindrome.";
return 0;
)

Выход:

преимущества

  • Предположим, что в вашем проекте вы хотите сопоставить первую строку / элемент с последним, затем второй элемент / строку со вторым последним и так далее, и строка будет палиндромной, если вы достигнете середины. Используя цикл for, вы можете выполнять все операции, и это экономит много времени и пространства при программировании, поскольку в этом случае вам не нужно ни изменять существующую строку, ни записывать другую переменную в память. Также совпадения должны быть полностью равны половине длины строки.
  • Если вы работаете с языком программирования, где обращение строк является простым, но для сохранения этой обратной строки другим способом, например, для рекурсии, потребуется дополнительный объем стека. Есть еще один способ, а не рекурсия, и это написание цикла в середине строки, чтобы проверить, является ли соответствующая буква на каждом конце одинаковой или нет. Если неравенство, тогда разбейте пару раньше и объявите строку как не палиндром.
  • Преимущество вышеупомянутого подхода состоит в том, что он не тратит вычислительные ресурсы, такие как рекурсия, без необходимости в дополнительных кадрах стека, но это также не просто, просто переворачивает строку и проверяет равенство между ними. Это требует усилий, но всегда будет меньше, чем другие алгоритмы, потому что это самый простой способ найти палиндром.
  • Каждый метод имеет свои преимущества в программировании, и есть тысячи других способов выполнить ту же задачу, но эффективным способом. Это полностью зависит от вашего текущего проекта, над которым вы работаете. Вам нужно только решить, в зависимости от вашей ситуации, какой метод поможет вам дать наилучшие преимущества, независимо от недостатков.
  • В реальном проекте вам необходимо выполнять n чисел проверок палиндрома на частой основе за короткий промежуток времени, тогда вы должны в первую очередь реализовывать вышеуказанный алгоритм до тех пор, пока вам не потребуется более оптимистичное решение для текущих технических ограничений.

Вывод

Используя алгоритм палиндрома, вы можете сделать свой поиск более эффективным и быстрым в поиске палиндромов независимо от типов данных, таких как строковый символ или целое число. Для проектов, которые содержат несколько данных в разных системах, эти алгоритмы могут использоваться для повышения общей производительности.

Рекомендуемые статьи

Это руководство по палиндрому в C ++. Здесь мы обсуждаем программу C ++ для проверки и реализации Палиндрома с преимуществами. Вы также можете посмотреть следующую статью, чтобы узнать больше -

  1. Программа Палиндром на C ++
  2. Лучший компилятор C ++
  3. Ряд Фибоначчи в C ++
  4. Перегрузка в C ++
  5. Перегрузка в Java
  6. Типы данных C ++
  7. Перегрузка Python
  8. Лучшие 11 функций и преимуществ C ++
  9. Ряд Фибоначчи в JavaScript с примерами