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

Палиндромът е число, последователност или дума, която чете същото назад като напред. Madam In Eden, аз съм Адам е един от най-добрите примери за думи на палиндром, които звучат същото след заден ход. Тук палиндромът прави нещата интересни, те действат като огледала. Името „палиндром“ всъщност означава да се върна отново според гръцката етимология. В 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;
)

изход:

Нека вземем още един пример, използвайки конкретно цикъл, който също ще обясни алгоритъма, който обсъдихме във въвеждането. Ще вземем число като вход от потребителя и ще проверим дали е палиндром или не.

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 и докато кодът е написан, той ще изпълни операция, както е написано след като цикъл. Ако числото стане 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 ++ за проверка и внедряване на Palindrome с предимствата. Можете също да разгледате следната статия, за да научите повече -

  1. Палиндром програма в C ++
  2. Най-добрият компилатор на C ++
  3. Серия на Фибоначи в C ++
  4. Претоварване в C ++
  5. Претоварване в Java
  6. C ++ Видове данни
  7. Python Overloading
  8. Топ 11 функции и предимства на C ++
  9. Серия Фибоначи в JavaScript с примери