Sissejuhatus palindroomi C ++

Palindroom on arv, jada või sõna, mis loeb sama tahapoole kui edasi. Proua Eedenis, ma olen Adam, üks paremaid näiteid palindroomi sõnadest, mis kõlab samamoodi ka peale tagurdamist. Just siin muudab palindroom asjad huvitavaks ja need toimivad peeglitena. Nimi “palindrome” tähendab tegelikult Kreeka etümoloogia kohaselt uuesti tagasi jooksmist. C ++ puhul on palindroomi arv arv, mis jääb tagurpidi samaks. Aga kuidas see võimalik on? Kuidas kontrollime, kas arv on liiga suur ja keeruline? Pidage alati meeles seda väikest algoritmi, et kontrollida, kas arv on palindroom või mitte.

  1. Hankige sisendnumber kasutajalt.
  2. Hoidke seda ajutises muutujal.
  3. Pöörake number ümber.
  4. Pärast tagurdamist võrrelge seda ajutise muutujaga.
  5. Kui sama, siis on see arv palindroom.

Ärge muretsege, siin on näide, kui arvame, et peame printida palindroomid antud numbrivahemiku vahele. Näiteks vahemik on (10122), siis peaks väljund olema (11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121)

C ++ programm Palindroomi juurutamiseks

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

Võtame veel ühe näite, kasutades konkreetselt mõnda aja silmust, mis selgitab ka algoritmi, mida tutvustasime sissejuhatuses. Võtame kasutajalt sisendi ja kontrollime, kas see on palindroom või mitte.

C ++ programm, et kontrollida, kas arv on palindroom või mitte

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

Ülaltoodud kood võtab kasutajalt numbri ja sisestab selle ajutisse muutujasse, kuna näete, et summa on juba 0. Ta kasutab mõnda aega silmust, kuni arv muutub 0-ks ja koodi kirjutamisel täidab see operatsioon, nagu on kirjutatud pärast silmust. Kui arv saab 0, siis kontrollitakse, kas ajutine muutuja võrdub summaga või mitte. Kui tingimus on täidetud, prindib see, et number on palindroomne, vastasel juhul, kui tingimus ebaõnnestub, läheb see teise ossa ja prindib, et number ei ole palindroom.

Veel üks näide, kasutades aeg-ajalist silmust, mis selgitab ka algoritmi, mida sissejuhatuses arutasime. Võtame kasutajalt sisendi ja kontrollime, kas see on palindroom või mitte.

C ++ programm, et kontrollida, kas arv on palindroom või mitte

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

Eelised

  • Oletame, et soovite oma projektis viia esimese stringi / elemendi kokku viimasega, seejärel teise elemendi / stringi teise viimasega ja nii edasi ning kui stringi keskele jõuate, on string palindroomne. Kasutades lihtsalt silmuse jaoks saate teha kõiki toiminguid ja see säästab programmeerimisel palju aega ja ruumi, kuna sellisel juhul ei pea te olemasolevat stringi modifitseerima ega mõnda muud muutujat mällu kirjutama. Samuti sobivad tikud, mis on täiesti võrdsed poolega stringi pikkusest.
  • Kui töötate programmeerimiskeelega, kus stringi ümberpööramine on lihtne, kuid selle vastupidise stringi muul viisil salvestamiseks, näiteks rekursioon, on vaja täiendavat ruumi, näiteks rekursioon nõuab rohkem virna raami. Rekursiooni asemel on veel üks viis - see on silmuse kirjutamine stringi keskele, et kontrollida, kas mõlemas otsas olev täht on sama või mitte. Kui see on ebavõrdne, siis murra paar varakult välja ja kuuluta nöör mitte palindroomiks.
  • Ülaltoodud lähenemisviisi eeliseks on see, et ei raisata mingeid arvutusressursse, nagu näiteks rekursioon, ilma täiendavaid korstnaraame vajamata, kuid see pole ka lihtne, kui lihtsalt stringi ümberpööramine ja nendevahelise võrdsuse kontrollimine. See võtab küll vaeva, kuid jääb alati väiksemaks kui muud algoritmid, kuna see on lihtsaim viis palindroomi leidmiseks.
  • Igal tehnikal on programmeerimisel oma eelised ja sama ülesande, kuid tõhusal viisil täitmiseks on tuhandeid muid võimalusi. See sõltub täielikult teie praegusest projektist, millega töötate. Ainult vastavalt olukorrale peate otsustama, milline tehnika aitab teil parimal viisil kasu saada, olenemata puudustest.
  • Reaalses projektis peate lühikese aja jooksul läbi viima n arvu palindroomi kontrolle. Seejärel peaksite ülaltoodud algoritmi rakendama, kuni ja kui te ei vaja praeguste tehniliste piirangute jaoks optimistlikumat lahendust.

Järeldus

Palindroomi algoritmi abil saate muuta otsingu palindroomide leidmisel tõhusamaks ja kiiremaks, sõltumata andmetüüpidest, näiteks stringi märk või täisarv. Projektide puhul, millel on erinevates süsteemides mitu teavet, saab neid algoritme kasutada üldise jõudluse kiirendamiseks.

Soovitatavad artiklid

See on juhend Palindroomi C ++ lehel. Siin käsitleme programmi C ++, et kontrollida ja juurutada eelistega Palindroomi. Lisateabe saamiseks võite vaadata ka järgmist artiklit -

  1. Palindroomi programm C ++ versioonis
  2. Parim C ++ kompilaator
  3. Fibonacci seeria C ++
  4. C ++ ülekoormus
  5. Ülekoormus Java-s
  6. C ++ andmetüübid
  7. Pythoni ülekoormamine
  8. C ++ 11 peamist funktsiooni ja eelist
  9. Fibonacci seeria JavaScriptis koos näidetega

Kategooria: