523
Algoritm verificare daca un numar este palindrom C++
-
Ce este si ce face acest algoritm?
Acest algoritm face parte din unul dintre algoritmii elementari. Acesta verifica daca un numar este palindrom sau nu. Vom descompune cifrele numarului nostru pentru a construii rasturnatul numarului. Dupa care vom verifica daca numarul nostru initial este egal cu numarul invers. Daca acestea sunt egale, numarul nostru este palindrom.
Definitia unui numar palindrom: Un numar este palindrom daca citindu-l invers este egal cu numarul initial. Exemplu: 1234321.
-
Algoritmul pentru verificare unui numar palindrom
#include <iostream>
using namespace std;
bool numarPalindrom(int numar) // Functia returneaza doar true sau false - pentru ca nu avem nevoie de alte valori
{
int numarInitial, numarInvers = 0; // Creeam doua variabile pentru a salva numarul invers si numarul initial
numarInitial = numar; // Salvam numarul initial
while(numar)
{ // Descompunem numarul nostru
int c = numar % 10; // Obtinem ultima cifre din numar
numarInvers = numarInvers * 10 + c; // Construim numarul invers
numar = numar / 10; // Taiem ultima cifra
}
if(numarInitial == numarInvers) // Daca numarul initial este egal cu cel invers
return true;
else
return false;
}
int main()
{
int nr;
cin >> nr;
if(numarPalindrom(nr) == true)
cout << "Numarul este palindrom";
else
cout << "Numarul NU este palindrom";
return 0;
}
Daca doriti sa cititi mai multe despre descompunerea unui numar in cifre, vizitati tutorialul „Algoritm pentru descompunerea unui numar in cifre C++„.
Comentarii