Úvod do palindrómu v C ++

Palindróm je číslo, postupnosť alebo slovo, ktoré číta to isté dozadu ako vpred. Madam In Eden, Som Adam je jedným z najlepších príkladov palindrómových slov, ktoré po obrátení znejú rovnako. To je miesto, kde palindróm robí veci zaujímavými, keď pôsobia ako zrkadlá. Názov „palindróm“ v skutočnosti znamená podľa gréckej etymológie utekať späť. V C ++ palindrómové číslo je číslo, ktoré zostane rovnaké aj po obrátení. Ako je to možné? Ako skontrolujeme, či je číslo príliš veľké a zložité? Vždy pamätajte na tento malý algoritmus, aby ste skontrolovali, či je číslo palindrómom alebo nie.

  1. Získajte vstupné číslo od používateľa.
  2. Podržte ho v dočasnej premennej.
  3. Obráťte číslo.
  4. Po obrátení porovnajte s dočasnou premennou.
  5. Ak je to isté, číslo je palindróm.

Neboj sa, tu je príklad predpokladajme, že musíme tlačiť palindrómy medzi daným rozsahom čísel. Napríklad rozsah je (10, 122), potom výstup by mal byť (11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121)

Program C ++ na implementáciu palindrómu

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

Výkon:

Vezmime si ešte jeden príklad konkrétne pomocou slučky while, ktorá tiež vysvetlí algoritmus, ktorý sme diskutovali v úvode. Berieme číslo ako vstup od používateľa a skontrolujeme, či je to palindróm alebo nie.

Program C ++ na kontrolu, či je číslo palindróm alebo nie

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

Výkon:

Vyššie uvedený kód vezme číslo ako vstup od používateľa a vloží ho do dočasnej premennej, pretože vidíte, že súčet je už 0, bude používať slučku while, kým sa číslo nestane 0 a ako bude napísaný kód, vykoná operácia, ako je napísaná po cykle while. Ak je číslo 0, skontroluje, či sa dočasná premenná rovná súčtu alebo nie. Ak podmienka vyhovuje, vytlačí sa, že číslo je palindrómové, inak ak podmienka zlyhá, pôjde do inej časti a vytlačí sa, že číslo nie je palindróm.

Ďalší príklad pomocou slučky do-while, ktorá tiež vysvetlí algoritmus, ktorý sme diskutovali v úvode. Berieme číslo ako vstup od používateľa a skontrolujeme, či je to palindróm alebo nie.

Program C ++ na kontrolu, či je číslo palindróm alebo nie

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

Výkon:

výhody

  • Predpokladajme, že vo svojom projekte chcete zladiť prvý reťazec / prvok s posledným, potom druhým prvkom / reťazec s druhým a tak ďalej a reťazec bude palindróm, ak sa dostanete do stredu. Iba pomocou slučky môžete vykonávať všetky operácie a pri programovaní ušetríte veľké množstvo času a miesta, pretože v tomto prípade nemusíte existujúci reťazec upravovať ani zapisovať do pamäte ďalšiu premennú. Tiež sa zhodujú úplne rovnaké hodnoty ako polovica dĺžky reťazca.
  • Ak pracujete na programovacom jazyku, v ktorom je reverzácia reťazca ľahká, ale na uloženie tejto reverznej reťazce iným spôsobom, ako je rekurzia, bude potrebné ďalšie miesto, ako je rekurzia, vyžaduje viac rámcov zásobníka. Existuje viac spôsobov ako rekurzia a to je zapísanie slučky do stredu reťazca, aby sa skontrolovalo, či príslušné písmeno na každom konci je rovnaké alebo nie. Ak je nerovnaký, zlomte pár čoskoro a reťazec deklarujte ako palindróm.
  • Vyššie uvedený prístup má tú výhodu, že neplytvá výpočtovými prostriedkami, ako je rekurzia, bez toho, aby boli potrebné ďalšie rámčeky zásobníkov, ale tiež to nie je jednoduché, ako len obrátiť reťazec a skontrolovať rovnosť medzi nimi. Vyžaduje si to úsilie, ale vždy to bude menej ako iné algoritmy, pretože to je najjednoduchší spôsob, ako nájsť palindróm.
  • Každá technika má svoje výhody v programovaní a existujú tisíce ďalších spôsobov, ako vykonať tú istú úlohu, ale efektívnym spôsobom. Závisí to úplne od vášho aktuálneho projektu, na ktorom pracujete. Musíte sa iba rozhodnúť podľa svojej situácie, ktorá technika vám pomôže dať najlepšie výhody bez ohľadu na nedostatky.
  • V skutočnom projekte musíte vykonať n počet kontrol palindrómu často v krátkom časovom úseku, potom by ste mali implementovať vyššie uvedený algoritmus na prvom mieste, pokiaľ a pokiaľ nevyžadujete optimistickejšie riešenie pre súčasné technické obmedzenia.

záver

Použitím algoritmu palindrómu môžete vyhľadávanie zefektívniť a zrýchliť pri hľadaní palindromov bez ohľadu na typy údajov, ako sú reťazec alebo celé číslo. V prípade projektov, ktoré majú v rôznych systémoch viac údajov, sa tieto algoritmy môžu použiť na zvýšenie rýchlosti výkonu.

Odporúčané články

Toto je príručka pre Palindrome v C ++. Tu diskutujeme program C ++, aby sme skontrolovali a implementovali Palindróm s výhodami. Viac informácií nájdete aj v nasledujúcom článku -

  1. Program palindrómu v C ++
  2. Najlepšie kompilátor C ++
  3. Fibonacciho séria v C ++
  4. Preťaženie v C ++
  5. Preťaženie v Jave
  6. Dátové typy C ++
  7. Preťaženie Pythonu
  8. Prvých 11 funkcií a výhod C ++
  9. Fibonacciho séria v JavaScripte s príkladmi

Kategórie: