Wprowadzenie do Palindrome w C ++

Palindrom to liczba, sekwencja lub słowo, które czyta się tak samo do tyłu jak do przodu. Madam In Eden, I'm Adam to jeden z najlepszych przykładów słów palindromowych, które brzmią tak samo po odwróceniu. To tutaj palindrom sprawia, że ​​rzeczy są interesujące, działają jak lustra. Nazwa „palindrom” w rzeczywistości oznacza powrót do kraju zgodnie z etymologią grecką. W C ++ liczba palindromowa to liczba, która pozostaje taka sama po odwróceniu. Ale jak to możliwe? Jak sprawdzimy, czy liczba jest zbyt duża i złożona? Zawsze należy pamiętać o tym małym algorytmie, aby sprawdzić, czy liczba jest palindromem, czy nie.

  1. Uzyskaj numer wejściowy od użytkownika.
  2. Zatrzymaj go w zmiennej tymczasowej.
  3. Odwróć numer.
  4. Po odwróceniu porównaj go ze zmienną tymczasową.
  5. Jeśli tak samo, to liczba jest palindromem.

Nie martw się, oto przykład, że musimy wydrukować palindromy między podanym zakresem liczb. Na przykład zakres wynosi (10, 122), a następnie wynik powinien wynosić (11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121)

Program C ++ do implementacji 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;
)

Wynik:

Weźmy jeszcze jeden przykład, wykorzystując pętlę while, która wyjaśni również algorytm omówiony we wstępie. Weźmiemy liczbę jako dane wejściowe od użytkownika i sprawdzimy, czy jest to palindrom, czy nie.

Program C ++ do sprawdzania, czy liczba jest palindromem, czy nie

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

Wynik:

Powyższy kod weźmie liczbę jako dane wejściowe od użytkownika i umieści ją w zmiennej tymczasowej, ponieważ można zobaczyć, że suma jest już równa 0, użyje pętli while, dopóki liczba nie osiągnie 0, a gdy kod zostanie zapisany, wykona operacja zapisana po pętli while. Jeśli liczba stanie się 0, sprawdzi, czy zmienna tymczasowa jest równa sumie, czy nie. Jeśli warunek jest spełniony, zostanie wydrukowane, że liczba jest palindromem, w przeciwnym razie, jeśli warunek się nie powiedzie, przejdzie do innej części i wydrukuje, że liczba nie jest palindromem.

Jeszcze jeden przykład z użyciem pętli „do-while”, która wyjaśni również algorytm omówiony we wstępie. Weźmiemy liczbę jako dane wejściowe od użytkownika i sprawdzimy, czy jest to palindrom, czy nie.

Program C ++ do sprawdzania, czy liczba jest palindromem, czy nie

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

Wynik:

Zalety

  • Załóżmy, że w swoim projekcie chcesz dopasować pierwszy ciąg / element z ostatnim, a następnie drugim elementem / ciągiem do drugiego ostatniego i tak dalej, a ciąg będzie palindromem, jeśli dojdziesz do środka. Korzystając z pętli for, można wykonać wszystkie operacje, co pozwala zaoszczędzić dużo czasu i miejsca, jeśli chodzi o programowanie, ponieważ w tym przypadku nie trzeba modyfikować istniejącego łańcucha ani zapisywać innej zmiennej w pamięci. Ponadto wymagane dopasowania są całkowicie równe połowie długości łańcucha.
  • Jeśli pracujesz nad językiem programowania, w którym odwracanie ciągów jest łatwe, ale wymaga dodatkowej przestrzeni do przechowywania tego ciągu w inny sposób, np. Rekurencja wymaga więcej ramek stosu. Jest jeszcze jeden sposób niż rekurencja, a mianowicie zapisanie pętli na środku łańcucha, aby sprawdzić, czy odpowiednia litera na każdym końcu jest taka sama, czy nie. Jeśli nierówne, to przedwcześnie przerwij parę i zadeklaruj ciąg jako nie palindrom.
  • Powyższe podejście ma tę zaletę, że nie marnuje żadnych zasobów obliczeniowych, takich jak rekurencja, bez potrzeby stosowania dodatkowych ramek stosu, ale nie jest również proste, jak tylko odwrócenie łańcucha i sprawdzenie równości między nimi. To wymaga wysiłku, ale zawsze będzie mniej niż inne algorytmy, ponieważ jest to najprostszy sposób na znalezienie palindromu.
  • Każda technika ma swoje zalety w programowaniu i istnieją tysiące innych sposobów wykonywania tego samego zadania, ale w efektywny sposób. Zależy to całkowicie od bieżącego projektu, nad którym pracujesz. Musisz tylko zdecydować, w zależności od sytuacji, która technika pomoże Ci uzyskać najlepsze korzyści bez względu na wady.
  • W prawdziwym projekcie musisz często wykonywać n kontroli palindromu w krótkim czasie, a następnie powinieneś wdrożyć powyższy algorytm w pierwszej kolejności, dopóki nie będziesz potrzebować bardziej optymistycznego rozwiązania dla obecnych ograniczeń technicznych.

Wniosek

Korzystając z algorytmu palindromu, możesz sprawić, by wyszukiwanie było wydajniejsze i szybsze w znajdowaniu palindromów niezależnie od typów danych, takich jak ciąg znaków lub liczba całkowita. W przypadku projektów, które mają wiele danych w różnych systemach, algorytmy te mogą być wykorzystane do znacznie szybszej ogólnej wydajności.

Polecane artykuły

To jest przewodnik po Palindrome w C ++. Tutaj omawiamy program C ++, aby sprawdzić i wdrożyć Palindrome z zaletami. Możesz także spojrzeć na następujący artykuł, aby dowiedzieć się więcej -

  1. Program Palindrome w C ++
  2. Najlepszy kompilator C ++
  3. Seria Fibonacciego w C ++
  4. Przeciążenie w C ++
  5. Przeciążenie w Javie
  6. Typy danych C ++
  7. Przeciążenie Pythona
  8. 11 najważniejszych funkcji i zalet C ++
  9. Seria Fibonacciego w JavaScript z przykładami