Inleiding tot Palindrome in C ++

Een palindroom is een nummer, een reeks of een woord dat hetzelfde achterwaarts leest als voorwaarts. Mevrouw In Eden ben ik Adam een ​​van de beste voorbeelden van palindroomwoorden die hetzelfde klinken na omkering. Dit is waar palindrome dingen interessant maakt, ze werken als spiegels. De naam 'palindroom' betekent eigenlijk weer teruglopen volgens de Griekse etymologie. In C ++ is palindroom nummer een nummer dat hetzelfde blijft na omgekeerde. Maar hoe is dit mogelijk? Hoe gaan we controleren of een nummer te groot en te complex is? Houd altijd rekening met dit kleine algoritme om te controleren of een getal een palindroom is of niet.

  1. Ontvang het invoernummer van de gebruiker.
  2. Houd het in een tijdelijke variabele.
  3. Draai het nummer om.
  4. Vergelijk het na het omkeren met een tijdelijke variabele.
  5. Als hetzelfde dan is het nummer een palindroom.

Maak je geen zorgen, hier is een voorbeeld, veronderstel dat we palindromen moeten afdrukken tussen het gegeven bereik van getallen. Het bereik is bijvoorbeeld (10.122) en de uitvoer moet (11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121) zijn

C ++ programma om Palindrome te implementeren

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

Output:

Laten we nog een voorbeeld nemen dat specifiek een while-lus gebruikt die ook het algoritme zal verklaren dat we in de inleiding hebben besproken. We nemen een nummer als invoer van de gebruiker en controleren of het een palindroom is of niet.

C ++ programma om te controleren of een nummer een palindroom is of niet

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

Output:

De bovenstaande code neemt een getal als invoer van de gebruiker en zet het in een tijdelijke variabele, omdat je kunt zien dat som al 0 is, gebruikt het een while-lus totdat het nummer 0 wordt en als de code wordt geschreven, voert het de bewerking zoals geschreven tijdens while-lus. Als het getal 0 wordt, wordt gecontroleerd of de tijdelijke variabele gelijk is aan de som of niet. Als aan de voorwaarde wordt voldaan, wordt afgedrukt dat het nummer palindroom is, anders gaat de voorwaarde naar een ander deel en wordt afgedrukt dat het nummer geen palindroom is.

Nog een voorbeeld met een do-while-lus die ook het algoritme zal verklaren dat we in de inleiding hebben besproken. We nemen een nummer als invoer van de gebruiker en controleren of het een palindroom is of niet.

C ++ programma om te controleren of een nummer een palindroom is of niet

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

Output:

voordelen

  • Stel dat u in uw project de eerste string / element wilt matchen met de laatste dan het tweede element / string tot de op een na laatste enzovoort, en dat de string palindroom is als u het midden bereikt. Door alleen voor lus te gebruiken, kunt u alle bewerkingen uitvoeren en het bespaart veel tijd en ruimte als het gaat om programmeren, omdat u in dit geval de bestaande string niet hoeft te wijzigen of een andere variabele naar het geheugen hoeft te schrijven. Ook zijn de vereiste wedstrijden volledig gelijk aan de helft van de snaarlengte.
  • Als u werkt aan een programmeertaal waarbij het omkeren van de snaren eenvoudig is, maar het een extra hoeveelheid ruimte vereist om die omgekeerde snaar op een andere manier op te slaan, zoals recursie, vereist meer stapelframe. Er is nog een manier in plaats van recursie en dat is het schrijven van een lus in het midden van de string om te controleren of de overeenkomstige letter aan elk uiteinde hetzelfde is of niet. Als ongelijk, breek het paar dan vroeg en verklaar de string als geen palindroom.
  • De bovenstaande aanpak heeft het voordeel dat er geen rekenbronnen worden verspild, zoals recursie, zonder extra stapelframes, maar het is ook niet eenvoudig als alleen de string omdraaien en de gelijkheid daartussen controleren. Het kost moeite, maar het zal altijd minder zijn dan andere algoritmen omdat dat de eenvoudigste manier is om een ​​palindroom te vinden.
  • Elke techniek heeft zijn voordelen bij het programmeren en er zijn duizenden andere manieren om dezelfde taak uit te voeren, maar op een efficiënte manier. Het hangt volledig af van uw huidige project waaraan u werkt. Afhankelijk van uw situatie hoeft u alleen te beslissen welke techniek u zal helpen de beste voordelen te bieden, ongeacht de nadelen.
  • In een echt project moet u in korte tijd regelmatig een aantal palindroomcontroles uitvoeren, waarna u het bovenstaande algoritme in de eerste plaats moet implementeren totdat en tenzij u een meer optimistische oplossing nodig hebt voor de huidige technische beperkingen.

Conclusie

Door een palindroom-algoritme te gebruiken, kunt u uw zoekopdracht efficiënter en sneller maken bij het vinden van palindromen, ongeacht de gegevenstypen zoals tekenreeks of geheel getal. Voor projecten met meerdere gegevens in de verschillende systemen kunnen deze algoritmen worden gebruikt om de algehele prestaties veel sneller te maken.

Aanbevolen artikelen

Dit is een gids voor Palindrome in C ++. Hier bespreken we het C ++ -programma om het Palindrome met de voordelen te controleren en te implementeren. U kunt ook het volgende artikel bekijken voor meer informatie -

  1. Palindrome-programma in C ++
  2. Beste C ++ compiler
  3. Fibonacci-serie in C ++
  4. Overbelasting in C ++
  5. Overbelasting in Java
  6. C ++ gegevenstypen
  7. Python overbelast
  8. Top 11 kenmerken en voordelen van C ++
  9. Fibonacci-serie in JavaScript met voorbeelden