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++“.