fbpx

Algoritm verificare numar palindrom C++

0

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
Se incarca comentariile...

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More