Pb 3666 pbinfo URGENT VA ROG!!!
Cerința
Se dă n, număr natural nenul. Să se testeze dacă n are număr impar de divizori.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieșire
Programul va afișa pe ecran mesajul da dacă n are număr impar de divizori şi mesajul nu în caz contrar.

Restricții și precizări
1 ≤ n ≤ 1000 000 000

Exemplu
Intrare

4
Ieșire

da


Răspuns :

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n = 0, d = 1, contor = 0;

   cin >> n;

   while( d * d < n )

   {

       if( n % d == 0 )

       {

           contor += 2;

       }

       ++d;

   }

   if( d * d == n )

       ++contor;

   if( contor % 2 == 1 )

       cout << "da";

   else

       cout << "nu";

   return 0;

}

Explicație: