Увод у Палиндроме у Ц ++

Палиндроме је број, низ или реч која гласи уназад као и напред. Госпођо у Едену, ја сам Адам један је од најбољих примера речи палиндрома које звуче исто након што су преокренуте. Овде палиндром чини занимљиве ствари, делују као огледала. Назив 'палиндроме' заправо значи поново трчање према грчкој етимологији. Код Ц ++ палиндром је број који остаје исти након обрнутог преноса. Али како је то могуће? Како ћемо проверити да ли је број превелик и сложен? Увек имајте на уму овај мали алгоритам да бисте проверили да ли је број палиндром или не.

  1. Добијте улазни број од корисника.
  2. Задржите га у привременој променљивој.
  3. Преокрените број.
  4. Након преокретања упоредите је са привременом променљивом.
  5. Ако је исти онда је број палиндром.

Не брините, овде је пример, претпоставимо да морамо да штампамо палиндроме између датог распона бројева. На пример, опсег је (10, 122) тада излаз треба бити (11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121)

Ц ++ програм за имплементацију Палиндрома

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

Излаз:

Узмимо још један пример конкретно користећи петљу која ће такође објаснити алгоритам о коме смо разговарали у уводу. Број ћемо узети као унос од корисника и проверити да ли је палиндром или не.

Ц ++ програм да бисте проверили да ли је број палиндром или не

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

Излаз:

Горњи код узеће број као унос од корисника и ставиће га у привремену променљиву јер можете видети да је та сума већ 0, користиће петљу док траје док број не постане 0 и док је код написан извршиће операција како је написано након петље. Ако број постане 0, тада ће провјерити је ли привремена варијабла једнака суми или не. Ако услов задовољава, исписат ће да је број палиндром, а у супротном ако услов не буде, прећи ће на други дио и исписати да број није палиндром.

Још један пример употребе петље "до-вхиле" која ће такође објаснити алгоритам о коме смо разговарали у уводу. Број ћемо узети као унос од корисника и проверити да ли је палиндром или не.

Ц ++ програм да бисте проверили да ли је број палиндром или не

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

Излаз:

Предности

  • Претпоставимо да у свом пројекту желите да ускладите први низ / елемент са последњим, а затим други елемент / низ са другим последњим и тако даље, а низ ће бити палиндроме ако дођете до средине. Само кориштењем за петљу можете извести све операције и штедите велику количину времена и простора када је ријеч о програмирању јер у овом случају не морате мијењати постојећи низ нити писати другу варијаблу у меморију. Такође, потребна су подударања у потпуно једнакој половини дужине низа.
  • Ако радите на програмском језику где је обртање низа једноставно, али ће требати додатна количина простора да бисте тај обрнути низ похранили на други начин, као што је рекурзија, потребан је више оквира оквира. Постоји још један начин, а не рекурзија, а то је писање петље у средину низа да бисте проверили да ли је одговарајуће слово на сваком крају исто или не. Ако су неједнаке, рано прекините пар и декларишите стринг као не палиндроме.
  • Горњи приступ има предност у томе што не трошите рачунске ресурсе попут рекурзије, без потребе за додатним оквирима за слагање, али такође није једноставан као што је само преокретање низа и провера једнакости међу њима. Треба уложити напор, али ће увек бити мање него код осталих алгоритама, јер је то најједноставнији начин да се нађе палиндром.
  • Свака техника има своје предности у програмирању и постоје хиљаде других начина обављања истог задатка, али на ефикасан начин. То у потпуности зависи од вашег тренутног пројекта на којем радите. Морате одлучити само према својој ситуацији која ће вам техника помоћи да остварите најбоље предности без обзира на недостатке.
  • У стварном пројекту, потребно је да у кратком временском размаку често вршите н бројева палиндромских провјера, а прво бисте требали имплементирати горњи алгоритам све док, осим ако вам није потребно оптимистичније рјешење за тренутна техничка ограничења.

Закључак

Коришћењем алгоритма палиндрома можете да претражите ефикасније и брже у проналажењу палиндрома без обзира на врсте података као што су низ знакова или цели број. За пројекте који имају више података у различитим системима, ови алгоритми се могу користити за постизање много бржих перформанси.

Препоручени чланци

Ово је водич за Палиндроме у Ц ++. Овде смо расправљали о Ц ++ програму да проверимо и имплементирамо Палиндроме са Предности. Такође можете погледати следећи чланак да бисте сазнали више -

  1. Палиндроме програм у Ц ++
  2. Најбољи компајлер Ц ++
  3. Фибонаццијева серија у Ц ++
  4. Преоптерећење у Ц ++
  5. Преоптерећење у Јави
  6. Врсте података Ц ++
  7. Питхон Оверлоадинг
  8. Топ 11 функција и предности Ц ++
  9. Серија Фибонацције у ЈаваСцрипт-у са примерима

Категорија: