Úvod do Palindromu v C ++

Palindrom je číslo, posloupnost nebo slovo, které čte stejně dozadu jako vpřed. Madam V Edenu jsem Adam, jeden z nejlepších příkladů palindromových slov, která po obrácení zní stejně. To je místo, kde palindrom dělá věci zajímavé, že fungují jako zrcadla. Název „palindrom“ ve skutečnosti znamená podle řecké etymologie znovu utéct. V C ++ je číslo palindromu číslo, které zůstává stejné i po obrácení. Jak je to možné? Jak zkontrolujeme, zda je číslo příliš velké a složité? Vždy mějte na paměti tento malý algoritmus a zkontrolujte, zda je číslo palindrom nebo ne.

  1. Získejte vstupní číslo od uživatele.
  2. Držte ji v dočasné proměnné.
  3. Obrátit číslo.
  4. Po převrácení jej porovnejte s dočasnou proměnnou.
  5. Pokud je to stejné, číslo je palindrom.

Nebojte se zde je příklad předpokládat, že musíme tisknout palindromy mezi daným rozsahem čísel. Například rozsah je (10, 122), pak výstup by měl být (11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121)

Program C ++ pro implementaci 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;
)

Výstup:

Vezměme si ještě jeden příklad konkrétně pomocí smyčky while, která také vysvětlí algoritmus, který jsme diskutovali v úvodu. Vezmeme číslo jako vstup od uživatele a zkontrolujeme, zda se jedná o palindrom nebo ne.

Program C ++ ke kontrole, zda je číslo palindrom nebo 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;
)

Výstup:

Výše uvedený kód vezme číslo jako vstup od uživatele a vloží jej do dočasné proměnné, protože vidíte, že součet je již 0, použije smyčku while, dokud se číslo nestane 0 a jak bude zapsán kód, provede operace, jak je zapsána po smyčce while. Pokud je číslo 0, zkontroluje, zda se dočasná proměnná rovná součtu nebo ne. Pokud je podmínka splněna, vytiskne se, že číslo je palindromové, jinak, pokud se podmínka nezdaří, přejde do jiné části a vytiskne, že číslo není palindrom.

Ještě jeden příklad používající smyčku do-while, která také vysvětlí algoritmus, který jsme diskutovali v úvodu. Vezmeme číslo jako vstup od uživatele a zkontrolujeme, zda se jedná o palindrom nebo ne.

Program C ++ ke kontrole, zda je číslo palindrom nebo 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;
)

Výstup:

Výhody

  • Předpokládejme, že ve vašem projektu chcete porovnat první řetězec / prvek s posledním, potom druhý prvek / řetězec s druhým posledním a tak dále a řetězec bude palindrom, pokud se dostanete do středu. Pouhým použitím pro smyčku můžete provádět všechny operace a šetří to velké množství času a prostoru, pokud jde o programování, protože v tomto případě nemusíte existující řetězec upravovat ani zapisovat jinou proměnnou do paměti. Zápasy se také musí rovnat polovině délky řetězce.
  • Pokud pracujete na programovacím jazyce, kde je obrácení řetězce snadné, ale bude vyžadovat další prostor k uložení tohoto reverzního řetězce jiným způsobem, jako je rekurze, vyžaduje více rámečků zásobníku. Existuje více způsobů než rekurze a to je psaní smyčky uprostřed řetězce, aby se zkontrolovalo, zda odpovídající písmeno na každém konci je stejné nebo ne. Pokud je nerovnoměrný, pak předčasně přerušte pár a prohláste řetězec jako ne palindrom.
  • Výše uvedený přístup má tu výhodu, že neplýtvá výpočtovými prostředky, jako je rekurze, aniž by bylo třeba dalších rámců zásobníku, ale také to není jednoduché, jako je pouze obrácení řetězce a kontrola rovnosti mezi nimi. Vyžaduje úsilí, ale vždy to bude méně než u jiných algoritmů, protože to je nejjednodušší způsob, jak najít palindrom.
  • Každá technika má své výhody v programování a existují tisíce dalších způsobů, jak dělat stejný úkol, ale efektivně. Záleží zcela na vašem aktuálním projektu, na kterém pracujete. Stačí se podle své situace rozhodnout, která technika vám pomůže poskytnout nejlepší výhody bez ohledu na nedostatky.
  • Ve skutečném projektu musíte často provádět n počet palindromových kontrol v krátkém časovém úseku, pak byste měli implementovat výše uvedený algoritmus na prvním místě, dokud a pokud nevyžadujete optimističtější řešení pro současná technická omezení.

Závěr

Pomocí algoritmu palindromu můžete zefektivnit a zrychlit vyhledávání při hledání palindromů bez ohledu na typy dat, jako je řetězec nebo celé číslo. Pro projekty, které mají v různých systémech více dat, lze tyto algoritmy použít k tomu, aby celkový výkon byl mnohem rychlejší.

Doporučené články

Toto je průvodce po Palindrome v C ++. Zde diskutujeme program C ++, abychom zkontrolovali a implementovali Palindrome s výhodami. Další informace naleznete také v následujícím článku -

  1. Program Palindrome v C ++
  2. Nejlepší kompilátor C ++
  3. Fibonacciho série v C ++
  4. Přetížení v C ++
  5. Přetížení v Javě
  6. Datové typy C ++
  7. Přetížení Pythonu
  8. Prvních 11 funkcí a výhod C ++
  9. Fibonacciho řada v JavaScriptu s příklady

Kategorie: