Uvod v Palindrome v C ++

Palindrom je število, zaporedje ali beseda, ki se glasi isto kot nazaj. Gospa v Edenu, jaz sem Adam, je eden najboljših primerov besed s palindromom, ki po vzvratni vožnji zveni enako. Tu se zaradi palindroma zdijo zanimive stvari, ki delujejo kot ogledala. Ime 'palindrom' po grški etimologiji dejansko pomeni, da spet teče nazaj. V palindromu C ++ je številka, ki ostane enaka tudi po vzvratni poti. Toda kako je to mogoče? Kako bomo preverili, ali je število preveliko in zapleteno? Vedno upoštevajte ta majhen algoritem, da preverite, ali je število palindrom ali ne.

  1. Pridobite uporabniško številko.
  2. Zadržite ga v začasni spremenljivki.
  3. Obrni številko.
  4. Po vzvratni vožnji ga primerjajte z začasno spremenljivko.
  5. Če je isto, je številka palindrom.

Brez skrbi, tukaj je primer, predpostavimo, da moramo tiskati palindrome med dano paleto številk. Na primer obseg je (10, 122), potem naj bo izhod (11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121)

Program C ++ za izvajanje Palindroma

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

Izhod:

Vzemimo še en primer posebej z uporabo zanke while, ki bo tudi pojasnila algoritem, o katerem smo govorili v uvodu. Številko bomo vzeli kot uporabnik in preverili, ali gre za palindrom ali ne.

C ++ program za preverjanje, ali je število palindrom ali ne

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

Izhod:

Zgornja koda bo vzela številko kot vložek uporabnika in jo dala v začasno spremenljivko, saj lahko vidite, da je vsota že 0, uporabila bo zanko za čas, dokler številka ne postane 0 in ko je koda napisana, bo izvedla operacijo, kot je napisano po zanki. Če število postane 0, bo preverilo, ali je začasna spremenljivka enaka vsoti ali ne. Če pogoj izpolnjuje, bo natisnil, da je številka palindrom, sicer pa stanje ne uspe, bo prešel na drug del in natisnil, da številka ni palindrom.

Še en primer z uporabo zanke do-while, ki bo tudi pojasnila algoritem, o katerem smo govorili v uvodu. Številko bomo vzeli kot uporabnik in preverili, ali gre za palindrom ali ne.

C ++ program za preverjanje, ali je število palindrom ali ne

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

Izhod:

Prednosti

  • Predpostavimo, da se želite v svojem projektu ujemati s prvim nizom / elementom z zadnjim in drugim elementom / nizom v drugem zadnjem in tako naprej, in niz bo palindrome, če segate do sredine. S samo uporabo za zanko lahko izvedete vse operacije in prihranite veliko časa in prostora, ko gre za programiranje, ker v tem primeru ne morate spreminjati obstoječega niza niti zapisati druge spremenljivke v pomnilnik. Prav tako so potrebne tekme v popolnoma enaki polovici dolžine niza.
  • Če delate na programskem jeziku, v katerem je previjanje niza enostavno, vendar bo za shranjevanje tega povratnega niza potrebno še nekaj prostora, na primer rekurzija, zahteva več okvira skladanja. Obstaja še en način namesto rekurzije in to je pisanje zanke na sredino niza, da preverimo, ali je ustrezna črka na vsakem koncu enaka ali ne. Če je neenakomerno, prekinite par predčasno in vrvico razglasite kot ne palindrom.
  • Zgornji pristop ima prednost, če ne zapravljate računskih virov, kot je rekurzija, ne da bi potrebovali dodatne okvire zlaganja, hkrati pa tudi ni preprost, kot samo previjanje vrvice in preverjanje enakosti med njimi. Trudi se, vendar bo vedno manj kot pri drugih algoritmih, ker je to najpreprostejši način za iskanje palindroma.
  • Vsaka tehnika ima svoje prednosti pri programiranju in na tisoče drugih načinov opravljanja iste naloge, vendar na učinkovit način. Popolnoma je odvisno od vašega trenutnega projekta, na katerem delate. Odločiti se morate le glede na vašo situacijo, katera tehnika vam bo pomagala zagotoviti najboljše koristi, ne glede na pomanjkljivosti.
  • V resničnem projektu morate v kratkem času redno izvajati n število pregledov palindroma, nato pa najprej izvajati zgornji algoritem, dokler in če ne potrebujete bolj optimistične rešitve za trenutne tehnične omejitve.

Zaključek

Z algoritmom palindroma lahko svoje iskanje izboljšate bolj učinkovito in hitreje pri iskanju palindromov, ne glede na vrste podatkov, kot sta niz ali celo število. Za algoritme, ki imajo v različnih sistemih več podatkov, je mogoče te algoritme uporabiti za hitrejšo splošno učinkovitost.

Priporočeni članki

To je vodnik za Palindrome v C ++. Tukaj razpravljamo o programu C ++ za preverjanje in izvajanje Palindroma s prednostmi. Če želite izvedeti več, si oglejte tudi naslednji članek -

  1. Program Palindrome v C ++
  2. Najboljši C ++ prevajalnik
  3. Fibonaccijeva serija v C ++
  4. Preobremenitev v C ++
  5. Preobremenitev na Javi
  6. Vrste podatkov C ++
  7. Python preobremenitev
  8. 11 najboljših lastnosti in prednosti C ++
  9. Serija Fibonaccije V JavaScript s primeri