Introduktion till Palindrome i C ++

En palindrome är ett nummer, sekvens eller ett ord som läser samma bakåt som framåt. Fru I Eden, jag är Adam är ett av de bästa exemplen på palindrome ord som låter samma efter att ha vänt. Det är här som palindrome gör saker intressanta, de fungerar som speglar. Namnet "palindrome" betyder faktiskt att springa tillbaka igen enligt grekisk etymologi. I C ++ är palindrome-tal ett nummer som förblir detsamma efter omvänd. Men hur är det möjligt? Hur kontrollerar vi om ett nummer är för stort och komplicerat? Tänk alltid på den lilla algoritmen för att kontrollera om ett nummer är en palindrome eller inte.

  1. Få inmatningsnumret från användaren.
  2. Håll den i en tillfällig variabel.
  3. Omvänd nummer.
  4. Jämför det med en tillfällig variabel efter att ha vänt.
  5. Om samma är numret en palindrome.

Oroa dig inte här är ett exempel på att vi måste skriva ut palindromer mellan det givna antalet intervall. Exempelvis är intervallet (10, 122) då utgången ska vara (11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121)

C ++ -program för att implementera 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:

Låt oss ta ytterligare ett exempel specifikt med hjälp av en stundslinga som också förklarar algoritmen vi diskuterade i inledningen. Vi tar ett nummer som ingång från användaren och kontrollerar om det är en palindrome eller inte.

C ++ -program för att kontrollera om ett nummer är en palindrome eller inte

#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:

Ovanstående kod kommer att ta ett nummer som en inmatning från användaren och lägga in den i en tillfällig variabel eftersom du kan se att summan redan är 0 kommer den att använda en stundslinga tills numret blir 0 och när koden är skriven kommer den att utföra operation som skriven efter medan loop. Om numret blir 0 kommer det att kontrollera om den temporära variabeln är lika med summan eller inte. Om villkoret uppfyller kommer det att skriva ut att numret är palindrome annars, om villkoret misslyckas kommer det att gå till annan del och kommer att skriva ut att numret inte är en palindrome.

Ett ytterligare exempel med en do-while-loop som också förklarar algoritmen vi diskuterade i inledningen. Vi tar ett nummer som ingång från användaren och kontrollerar om det är en palindrome eller inte.

C ++ -program för att kontrollera om ett nummer är en palindrome eller inte

#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:

fördelar

  • Anta att du i ditt projekt vill matcha första strängen / elementet med den sista och sedan den andra elementen / strängen till den näst sista och så vidare och strängen kommer att vara palindrome om du når till mitten. Genom att bara använda för loop kan du utföra alla operationer och det sparar en stor mängd tid och utrymme när det gäller programmering eftersom du i detta fall varken behöver ändra den befintliga strängen eller skriva en annan variabel till minnet. Även matchningarna som krävs är helt lika med hälften av stränglängden.
  • Om du arbetar med ett programmeringsspråk där strängarvändning är enkel men det kommer att kräva en extra mängd utrymme för att lagra den omvända strängen på ett annat sätt, såsom rekursion kräver mer stapelram. Det finns ytterligare ett sätt snarare än rekursion och det är att skriva en slinga i mitten av strängen för att kontrollera om motsvarande bokstav i varje ände är densamma eller inte. Om det är ojämnt, bryt paret tidigt och förklara strängen som inte en palindrom.
  • Ovanstående tillvägagångssätt har fördelen att inte slösa bort beräkningsresurser som rekursion utan att behöva extra stapelramar, men det är inte heller enkelt att bara vända strängen och kontrollera jämlikheten mellan dem. Det kräver ansträngning men det kommer alltid att vara mindre än andra algoritmer eftersom det är det enklaste sättet att hitta en palindrome.
  • Varje teknik har sina fördelar med programmering och det finns tusentals andra sätt att utföra samma uppgift men på ett effektivt sätt. Det beror helt på ditt nuvarande projekt du arbetar med. Du måste bara bestämma enligt din situation vilken teknik som hjälper dig att ge de bästa fördelarna oavsett nackdelarna.
  • I ett riktigt projekt måste du utföra ett antal palindrömkontroller ofta på kort tid, då bör du implementera ovanstående algoritm i första hand tills och om du inte behöver en mer optimistisk lösning för aktuella tekniska begränsningar.

Slutsats

Genom att använda en palindrome-algoritm kan du göra din sökning mer effektiv och snabbare när du hittar palindromer oavsett datatyper som strängkaraktär eller heltal. För projekt som har flera data i de olika systemen kan dessa algoritmer användas för att göra den totala prestandan mycket snabbare.

Rekommenderade artiklar

Detta är en guide till Palindrome i C ++. Här diskuterar vi C ++ -programmet för att kontrollera och implementera Palindrome med fördelarna. Du kan också titta på följande artikel för att lära dig mer -

  1. Palindrome-program i C ++
  2. Bästa C ++ Compiler
  3. Fibonacci-serien i C ++
  4. Överbelastning i C ++
  5. Överbelastning i Java
  6. C ++ Datatyper
  7. Python överbelastning
  8. Topp 11 funktioner och fördelar med C ++
  9. Fibonacci-serien i JavaScript med exempel

Kategori: