Bevezetés a Palindrome-ba a C ++-ban

A palindrom olyan szám, sorozat vagy szó, amely ugyanazt a hátrafelé olvassa, mint az előre. Hölgyem, Édenben Ádám vagyok, az egyik legjobb példa a palindróm szavakra, amely ugyanaz a hang visszafordítás után. Ez az, ahol a palindrom érdekesvé teszi a dolgokat, tükrökként működnek. A „palindrome” név azt jelenti, hogy a görög etimológia szerint újra visszafut. A C ++ esetében a palindrom száma olyan szám, amely változatlan marad ugyanazon a fordítotton. De hogyan lehetséges ez? Hogyan ellenőrizhetjük, hogy egy szám túl nagy és összetett-e? Mindig tartsa szem előtt ezt a kis algoritmust annak ellenőrzéséhez, hogy egy szám palindróma-e vagy sem.

  1. Kérje meg a bemeneti számot a felhasználótól.
  2. Tartsa átmeneti változóban.
  3. Fordítsa meg a számot.
  4. Fordítás után hasonlítsa össze egy ideiglenes változóval.
  5. Ha ugyanaz, akkor a szám egy palindrom.

Ne aggódjon, itt egy példa, ha feltételezzük, hogy a palindromokat az adott számtartomány között kell kinyomtatnunk. Például a tartomány (10122), akkor a kimenetnek (11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121) kell lennie.

C ++ program a Palindrome megvalósításához

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

Kimenet:

Vegyünk még egy példát, kifejezetten egy ideig tartó hurok felhasználásával, amely megmagyarázza az algoritmust, amelyet a bevezetésben tárgyaltunk. A felhasználótól számot veszünk, és ellenőrizzük, hogy ez egy palindrom.

C ++ program annak ellenőrzésére, hogy egy szám van-e palindromban vagy sem

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

Kimenet:

A fenti kód egy számot fog bevenni a felhasználótól, és egy ideiglenes változóba tesszük, mivel láthatja, hogy az összeg már 0, addig fog használni egy hurkot, amíg a szám 0-ra nem válik, és a kód írásakor végrehajtja a mûvelet a ciklus után írt módon. Ha a szám 0-ra válik, akkor ellenőrizni fogja, hogy az ideiglenes változó megegyezik-e az összeggel. Ha a feltétel teljesül, akkor kinyomtatja, hogy a szám palindróma, egyébként, ha a feltétel nem teljesül, akkor más részre kerül, és kinyomtatja, hogy a szám nem egy palindrom.

Még egy példa egy folyamatos hurok használatára, amely megmagyarázza az algoritmust, amelyet a bevezetésben tárgyaltunk. A felhasználótól számot veszünk, és ellenőrizzük, hogy ez egy palindrom.

C ++ program annak ellenőrzésére, hogy egy szám van-e palindromban vagy sem

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

Kimenet:

Előnyök

  • Tegyük fel, hogy a projektben össze szeretné illeszteni az első karakterláncot / elemet az utoljára, majd a második elemmel / karakterlánccal a második utolsó elemhez, és így tovább, és a karakterlánc palindrom lesz, ha a közepére eléri. A hurok használatával elvégezheti az összes műveletet, és sok időt és helyet takarít meg a programozáshoz, mivel ebben az esetben nem kell módosítania a meglévő karakterláncot, és nem kell új változókat írni a memóriába. Emellett a szükséges egyezéseknek a húrhossz felének teljesen megegyezik.
  • Ha olyan programozási nyelven dolgozik, ahol a karakterlánc-visszafordítás egyszerű, de további helyet igényel ahhoz, hogy a fordított karakterláncot más módon tárolja, például a rekurzióhoz több verem keret szükséges. A rekurzió helyett egy újabb módszer van: hurok írása a karakterlánc közepére annak ellenőrzésére, hogy a megfelelő betű mindkét végén azonos-e vagy sem. Ha egyenlőtlen, akkor korábban szakítsa meg a párot, és nyilatkozzon a húrról, mint nem palindromról.
  • A fenti megközelítésnek az az előnye, hogy semmilyen számítási erőforrást, például rekurziót nem pazarol, anélkül, hogy extra veremkeretekre lenne szükség, de az nem egyszerű, csak a karakterlánc megfordítása és a közöttük lévő egyenlőség ellenőrzése. Ez erőfeszítést igényel, de mindig kevesebb lesz, mint más algoritmusok, mert ez a legegyszerűbb módja a palindrom megtalálására.
  • Mindegyik módszernek megvan a maga előnye a programozásban, és több ezer más módszer is van arra, hogy ugyanazt a feladatot elvégezzék, de hatékonyan. Teljesen attól függ, milyen jelenlegi projekten dolgozik. Csak a helyzetétől függően kell eldöntenie, hogy melyik technika segít a lehető legjobban, a hátrányoktól függetlenül.
  • Egy valódi projektben rövid időnként n számú palindrom-ellenőrzést kell elvégeznie, akkor mindaddig el kell végeznie a fenti algoritmust, amíg és kivéve, ha optimálisabb megoldásra van szükség a jelenlegi műszaki korlátokhoz.

Következtetés

A palindromi algoritmus segítségével hatékonyabbá és gyorsabbá teheti a keresést a palindromok megtalálásában, függetlenül az adattípusoktól, például karakterlánc vagy egész szám. Azoknál a projekteknél, amelyek több adatot tartalmaznak a különböző rendszerekben, ezek az algoritmusok felhasználhatók az általános teljesítmény sokkal gyorsabbá tételére.

Ajánlott cikkek

Ez egy útmutató a Palindromhoz a C ++ kategóriában. Itt tárgyaljuk a C ++ programot a Palindrome előnyeinek ellenőrzésére és megvalósítására. A következő cikkben további információkat is megnézhet -

  1. Palindrome program C ++ formátumban
  2. A legjobb C ++ fordító
  3. Fibonacci sorozat C ++-ban
  4. Túlterhelés a C ++ kategóriában
  5. Túlterhelés a Java-ban
  6. C ++ adattípusok
  7. Python túlterhelés
  8. A C ++ 11 legfontosabb tulajdonságai és előnyei
  9. Fibonacci sorozat JavaScript-ben példákkal

Kategória: