fbpx

Algoritm verificare patrat perfect C++

0

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
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