👤

#2572 Pătrat perfect (pbinfo.ro)
Cerința
Se citeste un numar n si apoi n numere naturale. Sa se verifice pentru fiecare număr daca este pătrat perfect.
Date de intrare
Programul citeste de la tastatura numărul n si n numere naturale.
Date de ieșire
Programul va afișa DA sau NU pe cate o linie daca numarul citit este sau nu pătrat perfect.
Restricții si precizări
• 1<=n<=1000
• cele n numere citite vor fi mai mici decat 1.000.000.000.000

Exemplu
Intrare: 5
21 3 9 16 25
Iesire: NU
NU
DA
DA
DA


Răspuns :

#include <iostream>

#include <math.h>

using namespace std;

bool ePatrPerfect(int numar)

{

   if((int)sqrt(numar) == sqrt(numar))

       return true;

   return false;

}

int main()

{

   int n, num, i;

   cin >> n;

   for (i=1; i<=n; ++i)

   {

       cin >> num;

       if (ePatrPerfect(num)) cout << "DA" << "\n";

       else cout << "NU" << "\n";

   }

   return 0;

}