Informatică, întrebare adresată de CiucXD, 8 ani în urmă

Se citeste un numar natural. Sa se verifice daca
numarul de divizori proprii ai lui este un numar prim.

Răspunsuri la întrebare

Răspuns de Excelsis
1

Răspuns:

#include<iostream>

using namespace std;

int x,k,s,p,prod,d;

int prim(int n)

{

   if(n==0)return 0;

   if(n==1)return 0;

   if(n==2)return 1;

   if(n%2==0)return 0;

   for(int i=3;i*i<=n;i+=2)

       if(n%i==0)return 0;

   return 1;

}

int main()

{

   cin>>x;

   d=2;

   prod=1;

   while(x!=1)

   {

       p=0;

       while(x%d==0)

       {

           x/=d;

           p++;

       }

       if(p)prod*=(p+1);

       d++;

   }

   prod-=2;

   if(prim(prod)==1)cout<<"Numarul de divizori este prim";

   else cout<<"Numarul de divizori nu este prim";

}

Explicație:

Răspuns de ms154
0

Răspuns:

#include <iostream>

using namespace std;

int main ()

{

int n;

cin >> n;

int sum = 0;

if(n % 2 == 0){

    sum = n;

}

for(int i = 2;i<=n/2;i++){

    if(n%i == 0 && i %2 ==0){

        sum+=i;

    }

}

cout<<sum;

return 0;

}

Explicație:


ms154: sper ca nu am incurcat ca de obicei
Alte întrebări interesante