Introducere în Palindrome în C ++

Un palindrom este un număr, o secvență sau un cuvânt care citește același lucru înapoi ca înainte. Madam In Eden, sunt Adam este unul dintre cele mai bune exemple de cuvinte palindrome care sună la fel după inversare. Aici palindromul face lucrurile interesante, ele acționând ca oglinzi. Numele „palindrom” înseamnă, de fapt, alergarea din nou, conform etimologiei grecești. În C ++ numărul de palindrom este un număr care rămâne același după invers. Dar cum este posibil acest lucru? Cum vom verifica dacă un număr este prea mare și complex? Rețineți întotdeauna acest mic algoritm pentru a verifica dacă un număr este un palindrom sau nu.

  1. Obțineți numărul de intrare de la utilizator.
  2. Țineți-o într-o variabilă temporară.
  3. Se inversează numărul.
  4. După inversare, comparați-o cu o variabilă temporară.
  5. Dacă este același, numărul este un palindrom.

Nu vă faceți griji aici este un exemplu să presupunem că trebuie să tipărim palindromuri între intervalul de numere dat. De exemplu, intervalul este (10.122), atunci ieșirea ar trebui să fie (11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121)

Program C ++ pentru implementarea 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;
)

ieşire:

Să luăm un alt exemplu specific folosind o buclă de timp, care va explica, de asemenea, algoritmul despre care am discutat în introducere. Vom lua un număr ca o intrare de la utilizator și vom verifica dacă este un palindrom sau nu.

Program C ++ pentru a verifica dacă un număr este sau nu palindrom

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

ieşire:

Codul de mai sus va lua un număr ca o intrare de la utilizator și îl va pune într-o variabilă temporară, deoarece puteți vedea că suma este deja 0, va folosi o buclă de timp până când numărul devine 0 și pe măsură ce codul va fi scris va efectua operație așa cum este scris după bucla în timp ce. Dacă numărul devine 0, atunci se va verifica dacă variabila temporară este egală cu suma sau nu. Dacă condiția se îndeplinește, atunci se va tipări că numărul este palindrom, în caz contrar dacă condiția eșuează, se va trece la altă parte și se va tipări că numărul nu este un palindrom.

Încă un exemplu folosind o buclă do-while care va explica și algoritmul despre care am discutat în introducere. Vom lua un număr ca o intrare de la utilizator și vom verifica dacă este un palindrom sau nu.

Program C ++ pentru a verifica dacă un număr este sau nu palindrom

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

ieşire:

avantaje

  • Să presupunem că în proiectul dvs. doriți să potriviți primul șir / element cu ultimul, apoi al doilea element / șir la al doilea ultim și așa mai departe, iar șirul va fi palindrom dacă ajungeți la mijloc. Utilizând doar pentru buclă puteți efectua toate operațiile și economisiți o cantitate mare de timp și spațiu atunci când vine vorba de programare, deoarece în acest caz, nu trebuie să modificați șirul existent și nici să scrieți o altă variabilă în memorie. De asemenea, meciurile necesare sunt egale în totalitate cu jumătate din lungimea coardei.
  • Dacă lucrați la un limbaj de programare în care inversarea șirurilor este ușoară, dar va necesita o cantitate suplimentară de spațiu pentru a stoca șirul invers în alt mod, cum ar fi recursivitatea, necesită mai mult cadru de stivă. Există un alt mod în loc de recurs și că este să scrii o buclă în mijlocul șirului pentru a verifica dacă litera corespunzătoare la fiecare capăt este aceeași sau nu. Dacă este inegal, rupeți din timp perechea și declarați șirul ca nu un palindrom.
  • Abordarea de mai sus are avantajul de a nu irosi resurse de calcul, cum ar fi recursiv, fără a avea nevoie de cadre suplimentare de stivă, dar nu este simplă ca doar inversarea șirului și verificarea egalității dintre ele. Face efort, dar va fi întotdeauna mai mic decât alți algoritmi, deoarece acesta este cel mai simplu mod de a găsi un palindrom.
  • Fiecare tehnică are beneficiile sale în programare și există alte mii de alte modalități de a face aceeași sarcină, dar într-un mod eficient. Depinde complet de proiectul dvs. curent la care lucrați. Trebuie doar să decideți în funcție de situația dvs., care tehnică vă va ajuta să oferiți cele mai bune beneficii, indiferent de dezavantajele.
  • Într-un proiect real, trebuie să efectuați numeroase verificări palindrome în mod frecvent într-o perioadă scurtă de timp, atunci ar trebui să implementați algoritmul de mai sus în primul rând până și dacă nu aveți nevoie de o soluție mai optimistă pentru constrângerile tehnice actuale.

Concluzie

Folosind un algoritm palindrom, puteți face căutarea mai eficientă și mai rapidă în găsirea palindromelor indiferent de tipurile de date, cum ar fi caracterele de caractere sau întregul. Pentru proiectele care au mai multe date în diferite sisteme, acești algoritmi pot fi folosiți pentru a face performanța generală mult mai rapidă.

Articole recomandate

Acesta este un ghid pentru Palindrome în C ++. Aici discutăm programul C ++ pentru a verifica și implementa Palindrome cu Avantajele. De asemenea, puteți consulta articolul următor pentru a afla mai multe -

  1. Program Palindrome în C ++
  2. Cel mai bun compilator C ++
  3. Serie Fibonacci în C ++
  4. Supraîncărcare în C ++
  5. Supraîncărcare în Java
  6. Tipuri de date C ++
  7. Supraîncărcarea Python
  8. Top 11 caracteristici și avantaje ale C ++
  9. Serie Fibonacci În JavaScript cu exemple