Informatică, întrebare adresată de nicolaemin1, 9 ani în urmă

Cum sa realizez un program in code blocks (c++) care sa faca urmatoarele actiuni;?
-sa determine daca un numar este prim sau nu
-sa determine numarul divizorilor unui numar
-sa calculeze suma divizorilor numarului


AntiEaglesDavids: tu ce ai incercat pana acum?
nicolaemin1: Da , am incercat
AntiEaglesDavids: arata-mi ce ai incercat
nicolaemin1: #include <iostream>

using namespace std;
int main()

{

int n, div, k, S;
cout << "Numarul = "; cin >> n;
k=0;
S=0;
for (div=2; div<=n/2 ; div++)
if (n%div==0) k++;
{
cout << "Numarul de divizori este egal cu "<< k+2 << endl ;

}
if(k==0)
cout << "Numarul este prim";
else
cout << "Numarul nu este prim"<< endl;
S=S+div;
cout << "Suma divizorilor= " << S;
return 0;

}

Răspunsuri la întrebare

Răspuns de Shinon
3
-Daca un numar "n" e prim
   int n, d, ok==1;
   cin>>n;
    for(d=2;d*d<=n;d++)
         if(n%d==0) {ok=0; break;}
    if(ok==1) cout<<"E prim";
       else cout<<"Nu e prim";
- Numarul divizorilor numarului n
   int d, n, nr=0;
   cin>>n;
   for(d=1;d*d<=n;d++)
       if(n%d==0)
      { 
          nr+=2; //adica nr=nr+2;
         if(d==n/d) nr--; //pentru cazul in care n este patrat perfect cand avem numar impar de divizori
     }
cout<<nr;
- Suma divizorilor lui int d, n, s=0;
   cin>>n;
   for(d=1;d*d<=n;d++)
       if(n%d==0)
      { 
          s+=d; //adica s=s+d;
          s=s+(n/d); //pentru ca daca n se imparte la d se imparte si la n/d
         if(d==n/d) s-=d; //pentru cazul in care n este patrat perfect si unul din divizori se repeta
     }
cout<<s;
Alte întrebări interesante