Вступ до паліндрому в C ++

Паліндром - це число, послідовність або слово, яке читається так само, як і вперед. Мадам В Едемі, я Адам - ​​один з найкращих прикладів слів паліндром, який звучить так само після реверсування. Тут паліндром робить цікаві речі, вони виступають як дзеркала. Назва «паліндром» насправді означає грецьку етимологію. У палітрідромі С ++ число - це число, яке залишається колишнім після реверсу. Але як це можливо? Як ми перевіримо, чи число занадто велике і складне? Завжди майте на увазі цей невеликий алгоритм, щоб перевірити, чи є число паліндром чи ні.

  1. Отримати вхідний номер від користувача.
  2. Тримайте його у тимчасовій змінній.
  3. Зворотне число.
  4. Після реверсування порівняйте його з тимчасовою змінною.
  5. Якщо те саме, то число - паліндром.

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

Програма C ++ для впровадження Palindrome

#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, він буде використовувати цикл час, поки число не стане 0, і коли код буде записаний, він виконає операція, як написано після циклу while. Якщо число стає 0, то воно перевірить, чи тимчасова змінна дорівнює сумі чи ні. Якщо умова задовольняє, то вона надрукує, що число є паліндром інакше, якщо умова не виконана, він перейде до іншої частини та надрукує, що число не є паліндром.

Ще один приклад використання циклу виконання часу, який також пояснить алгоритм, про який ми говорили у вступі. Ми візьмемо номер як вхід від користувача і перевіримо, чи це паліндром чи ні.

Програма 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;
)

Вихід:

Переваги

  • Припустимо, що у вашому проекті ви хочете зіставити перший рядок / елемент з останнім, потім другий елемент / рядок з другим останнім і так далі, і рядок буде паліндром, якщо ви досягнете середини. Просто використовуючи цикл, ви можете виконувати всі операції, і це економить велику кількість часу та простору, коли справа стосується програмування, оскільки в цьому випадку вам не потрібно змінювати існуючий рядок, а також записувати іншу змінну в пам'ять. Також потрібні сірники повністю рівні половині довжини струни.
  • Якщо ви працюєте на мові програмування, де обертання рядків є простим, але знадобиться додатковий простір, щоб зберегти цей зворотний рядок іншим способом, таким як рекурсія, потребує більше кадру стека. Існує ще один спосіб, а не рекурсія, і це написання циклу посередині рядка, щоб перевірити, чи відповідна літера на кожному кінці однакова чи ні. Якщо нерівні, тоді розривайте пару рано та оголошуйте рядок як не паліндром.
  • Вищеописаний підхід має перевагу в тому, що не витрачати жодних обчислювальних ресурсів, таких як рекурсія, не потребуючи додаткових фреймів стека, але це також не просто, як просто перевернути рядок і перевірити рівність між ними. Це вимагає зусиль, але завжди буде менше, ніж інших алгоритмів, тому що це найпростіший спосіб знайти паліндром.
  • Кожна методика має свої переваги в програмуванні, і є тисячі інших способів виконання тієї ж задачі, але ефективно. Це повністю залежить від вашого поточного проекту, над яким ви працюєте. Вам залишається лише вирішити відповідно до вашої ситуації, яка методика допоможе вам отримати найкращі переваги незалежно від недоліків.
  • У реальному проекті вам потрібно за короткий проміжок часу виконувати n номерів перевірок паліндром, тоді вам слід в першу чергу реалізувати вищезазначений алгоритм до тих пір, поки ви не потребуєте більш оптимістичного рішення для поточних технічних обмежень.

Висновок

Використовуючи алгоритм паліндром, ви можете зробити пошук більш ефективним та швидшим у пошуку паліндромів незалежно від типів даних, таких як символ рядка чи ціле число. Для проектів, що мають кілька даних у різних системах, ці алгоритми можна використовувати для підвищення загальної продуктивності набагато швидше.

Рекомендовані статті

Це посібник з Palindrome на C ++. Тут ми обговорюємо програму C ++, щоб перевірити та реалізувати Паліндром із Перевагами. Ви також можете переглянути наступну статтю, щоб дізнатися більше -

  1. Програма Palindrome на C ++
  2. Найкращий компілятор C ++
  3. Серія Фібоначчі в С ++
  4. Перевантаження в C ++
  5. Перевантаження в Java
  6. Типи даних C ++
  7. Перевантаження Python
  8. Топ-11 особливостей та переваг C ++
  9. Серія Фібоначчі в JavaScript з прикладами