fbpx

Algoritm verificare patrat perfect C++

de Mihai-Alexandru

Algoritm de verificare daca un numar este patrat perfect

  • Ce este si ce face acest algoritm?

Acest algoritm este unul dintre algoritmii elementari. Acesta verifica daca un numar este patrat perfect.

Definitia unui patrat perfect: In matematica, un patrat perfect este un numar intreg (Z) care este patratul altui numar intreg.

Exemplu: 4 este patrat perfect, deoarece poate fi scris ca si 2 * 2.

  • Algoritmul pentru verificarea unui patrat perfect

Inainte de a prezenta algoritmul, trebuie sa discutam putin despre functia sqrt().
Ce este sqrt()? Aceasta functie extrage radacina patrata a unui numar si o returneaza sub forma unui numar real. Daca scriem sqrt(5) o sa obtinem 2.23607. Iar daca executam sqrt(4) vom obtine 2.

Mai multe despre functia sqrt() puteti gasii aici.

#include    <iostream>
#include    <cmath>

using namespace std;

bool ePatrat(int numar)
{
    if((int)sqrt(numar) == sqrt(numar))
        return true;

    return false;
}

int main()
{
    int an;
    cin >> an;
    cout << ePatrat(an);
    return 0;
}

Algoritmul este destul de simplu: verificam daca radacina numarului nostru este egala cu partea intreaga a radacinii.
De exemplu, daca scriem sqrt(5), partea intreaga a radacinii este 2. Iar 2 nu este egal cu 2.23607 (radacina reala). In schimb, daca scriem sqrt(4), partea intreaga (2) este egala cu partea reala (2).

Comentarii

S-ar putea sa iti placa