Uvod u Palindrome u C ++

Palindrome je broj, redoslijed ili riječ koja glasi naprijed kao naprijed. Gospođa u Edenu, ja sam Adam jedan je od najboljih primjera palindromskih riječi koje nakon preokretanja unazad zvuče isto. Ovdje palindrom čini zanimljive stvari, djeluju kao ogledala. Naziv 'palindrome' zapravo znači ponovno trčanje prema grčkoj etimologiji. U C ++ palindromu je broj koji ostaje isti nakon obrnutog broja. Ali kako je to moguće? Kako ćemo provjeriti je li broj prevelik i složen? Uvijek imajte na umu ovaj mali algoritam kako biste provjerili je li broj palindrom ili ne.

  1. Dohvati uneseni broj od korisnika.
  2. Držite ga u privremenoj varijabli.
  3. Preokrenite broj.
  4. Nakon preokretanja usporedite je s privremenom varijablom.
  5. Ako je isti, tada je broj palindrom.

Ne brinite, ovdje je primjer pretpostavimo da moramo ispisati palindrome između zadanog raspona brojeva. Na primjer, raspon je (10, 122), tada bi izlaz trebao biti (11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121)

C ++ program za implementaciju 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;
)

Izlaz:

Uzmimo još jedan primjer konkretno koristeći petlju, koja će također objasniti algoritam o kojem smo razgovarali u uvodu. Broj ćemo uzeti kao ulaz od korisnika i provjeriti je li palindrom ili ne.

C ++ program za provjeru je li broj palindrom ili 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;
)

Izlaz:

Gornji kôd uzeće broj kao unos od korisnika i staviće ga u privremenu varijablu jer možete vidjeti da je taj zbroj već 0, koristit će neko vrijeme dok broj ne postane 0, a kako je zapisan kôd izvest će operacija kako je napisano nakon petlje. Ako broj postane 0, tada će provjeriti je li privremena varijabla jednaka zbroju ili ne. Ako uvjet zadovoljava, ispisat će da je broj palindrom, a u protivnom ako stanje ne uspije, prijeći će na drugi dio i ispisati da broj nije palindrom.

Još jedan primjer upotrebe petlje "do-while" koja će također objasniti algoritam o kojem smo razgovarali u uvodu. Broj ćemo uzeti kao ulaz od korisnika i provjeriti je li palindrom ili ne.

C ++ program za provjeru je li broj palindrom ili 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;
)

Izlaz:

prednosti

  • Pretpostavimo da u svom projektu želite uskladiti prvi niz / element s posljednjim, a zatim drugi element / niz s drugim posljednjim i tako dalje, a niz će biti palindrome ako dođete do sredine. Samo korištenjem za petlju možete izvesti sve operacije i štedite veliku količinu vremena i prostora kada je u pitanju programiranje jer u ovom slučaju ne morate mijenjati postojeći niz niti pisati drugu varijablu u memoriju. Također, potrebne su šibice u potpuno jednakoj polovini duljine niza.
  • Ako radite na programskom jeziku na kojem je poništavanje niza jednostavno, ali trebat će dodatna količina prostora da biste taj obrnuti niz pohranili na drugi način, kao što je rekurzija, potreban je više okvira okvira. Postoji još jedan način, a ne rekurzija, a to je pisanje petlje u sredinu niza kako bi se provjerilo je li odgovarajuće slovo na svakom kraju isto ili ne. Ako su nejednake, rano prekinite par i deklarišite string kao ne palindrom.
  • Gornji pristup ima prednost u tome što ne trošite računske resurse, poput rekurzije, bez potrebe za dodatnim okvirima snopa, ali također nije jednostavan, jer samo preokrenuti niz i provjeriti jednakost među njima. Uložite napor, ali uvijek će biti manje od ostalih algoritama, jer je to najjednostavniji način pronalaska palindroma.
  • Svaka tehnika ima svoje prednosti u programiranju i postoje tisuće drugih načina obavljanja istog zadatka, ali na učinkovit način. To potpuno ovisi o vašem trenutnom projektu na kojem radite. Morate odlučiti samo prema svojoj situaciji koja će vam tehnika pružiti najbolje prednosti bez obzira na nedostatke.
  • U stvarnom projektu, trebate n puta vršiti n brojeva provjere palindroma u kratkom vremenu, tada biste trebali implementirati gornji algoritam sve dok, osim ako ne zatrebate optimističnije rješenje za trenutna tehnička ograničenja.

Zaključak

Korištenjem algoritma palindrome možete pretražiti efikasnije i brže u pronalaženju palindroma bez obzira na vrste podataka kao što su niz znakova ili cijeli broj. Za projekte koji imaju više podataka u različitim sustavima, ovi se algoritmi mogu upotrijebiti za postizanje mnogo bržih performansi.

Preporučeni članci

Ovo je vodič za Palindrome na C ++. Ovdje smo raspravljali o C ++ programu za provjeru i implementaciju Palindromea s Prednosti. Možete pogledati i sljedeći članak da biste saznali više -

  1. Program Palindrome u C ++
  2. Najbolji kompajler C ++
  3. Fibonaccijeva serija u C ++
  4. Preopterećenje u C ++
  5. Preopterećenje u Javi
  6. C ++ Vrste podataka
  7. Python preopterećenje
  8. Top 11 značajki i prednosti C ++
  9. Serija Fibonaccije u JavaScriptu s primjerima

Kategorija: