vernrimpdiv numar impar de divizori.

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

Exemplu

Intrare

4

Ieșire

da

#include <iostream>
using namespace std;
int n, nr, i;
int main(){
    cin>>n;
    for (i=1;i<=n/i;i++)
        if (n%i == 0) {
            nr++;
            if (i!=n/i)
                nr++;
        }
    if (nr%2 == 1)
        cout<<"da";
    else
        cout<<"nu";
    return 0;   
}

SOLUTIE2

#include <iostream>
#include <cmath>
using namespace std;
int n, nr, i;
int main(){
    cin>>n;
    if(n == (int)sqrt(n)*(int)sqrt(n))
        cout<<"da";
    else
        cout<<"nu";
    return 0;   
}
%d bloggers like this: