Introduktion til Palindrome i C ++

En palindrome er et tal, sekvens eller et ord, der læser det samme bagud som fremad. Fru I Eden, jeg er Adam er et af de bedste eksempler på palindrome ord, der lyder det samme efter at have vendt. Det er her palindrome gør tingene interessante, de fungerer som spejle. Navnet 'palindrome' betyder faktisk at løbe tilbage igen i henhold til græsk etymologi. I C ++ er palindrome nummer et tal, der forbliver det samme efter omvendt. Men hvordan er dette muligt? Hvordan kontrollerer vi, om et tal er for stort og komplekst? Husk altid denne lille algoritme for at kontrollere, om et tal er en palindrome eller ej.

  1. Hent indtastningsnummeret fra brugeren.
  2. Opbevar den i en midlertidig variabel.
  3. Vend nummeret.
  4. Efter at have vendt sammenligne det med en midlertidig variabel.
  5. Hvis det samme er tallet er en palindrome.

Vær ikke bange her er et eksempel på, at vi er nødt til at udskrive palindromer mellem det givne antal intervaller. For eksempel er området (10, 122), så output skal være (11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121)

C ++ program til implementering af 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;
)

Produktion:

Lad os tage et eksempel mere specifikt ved hjælp af en stundsløjfe, der også vil forklare den algoritme, vi diskuterede i introduktionen. Vi tager et nummer som input fra brugeren og kontrollerer, om det er en palindrome eller ej.

C ++ program for at kontrollere, om et tal er en palindrome eller ej

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

Produktion:

Ovenstående kode tager et tal som et input fra brugeren og sætter det i en midlertidig variabel, da du kan se, at summen allerede er 0, vil den bruge en stundsløjfe, indtil tallet bliver 0, og når koden er skrevet, udfører den handling som skrevet efter mens loop. Hvis tallet bliver 0, kontrolleres det, om den midlertidige variabel er lig med summen eller ikke. Hvis betingelsen tilfredsstiller, udskrives det, at antallet er palindrome, ellers hvis betingelsen mislykkes, vil den gå til en anden del og udskrive, at nummeret ikke er en palindrome.

Et yderligere eksempel ved hjælp af en do-while-loop, der også vil forklare den algoritme, vi diskuterede i introduktionen. Vi tager et nummer som input fra brugeren og kontrollerer, om det er en palindrome eller ej.

C ++ program for at kontrollere, om et tal er en palindrome eller ej

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

Produktion:

Fordele

  • Antag, at du i dit projekt ønsker at matche den første streng / element med den sidste og derefter den anden element / streng til den næstsidste, og så videre, og strengen vil være palindrome, hvis du når til midten. Ved kun at bruge for loop kan du udføre alle handlinger, og det sparer en stor mængde tid og plads, når det kommer til programmering, fordi du i dette tilfælde hverken behøver at ændre den eksisterende streng eller skrive en anden variabel til hukommelsen. Desuden er de nødvendige kampe helt lig med halvdelen af ​​strenglengden.
  • Hvis du arbejder på et programmeringssprog, hvor streng reversering er let, men det kræver en ekstra mængde plads til at gemme den omvendte streng på en anden måde, såsom rekursion kræver mere stabelramme. Der er endnu en måde i stedet for rekursion, og det er at skrive en løkke i midten af ​​strengen for at kontrollere, om det tilsvarende bogstav i hver ende er det samme eller ikke. Hvis det er uligtigt, skal du bryde parret tidligt og erklære strengen som ikke en palindrome.
  • Ovenstående fremgangsmåde har fordelen ved ikke at spilde nogen beregningsressourcer som rekursion uden at skulle bruge ekstra stakrammer, men det er heller ikke simpelt som bare at vende strengen og kontrollere ligheden mellem dem. Det kræver en indsats, men det vil altid være mindre end andre algoritmer, fordi det er den enkleste måde at finde en palindrome.
  • Hver teknik har sine fordele ved programmering, og der er tusinder af andre måder at udføre den samme opgave på, men på en effektiv måde. Det afhænger helt af dit aktuelle projekt, du arbejder på. Du skal kun beslutte alt efter din situation, hvilken teknik der vil hjælpe dig med at give de bedste fordele uanset ulemperne.
  • I et rigtigt projekt skal du udføre et antal palindromecheck regelmæssigt på kort tid, så skal du implementere ovenstående algoritme i første omgang, indtil og medmindre du har brug for en mere optimistisk løsning til aktuelle tekniske begrænsninger.

Konklusion

Ved at bruge en palindromealgoritme kan du gøre din søgning mere effektiv og hurtigere med at finde palindromer uanset datatyper som strengkarakter eller heltal. For projekter, der har flere data i de forskellige systemer, kan disse algoritmer bruges til at gøre den samlede ydeevne meget hurtigere.

Anbefalede artikler

Dette er en guide til Palindrome i C ++. Her diskuterer vi C ++ -programmet til at kontrollere og implementere Palindrome med fordelene. Du kan også se på den følgende artikel for at lære mere -

  1. Palindrome-program i C ++
  2. Bedste C ++ Compiler
  3. Fibonacci-serien i C ++
  4. Overbelastning i C ++
  5. Overbelastning i Java
  6. C ++ Datatyper
  7. Python-overbelastning
  8. Top 11 funktioner og fordele ved C ++
  9. Fibonacci-serien i JavaScript med eksempler

Kategori: