👤

Scrie algoritmul care calculeaza suma divizorilor numarului intreg x dat.

Răspuns :

#include <iostream>
 using namespace std;
 int main()
{
int numarul, sumaDivizorilor=0;
cout<<"Numarul="; cin>>numarul;
if (numarul>=0)
{
for (int divizor=1; divizor<=numarul; divizor++)
 if (numarul%divizor==0)
    sumaDivizorilor += divizor;
}
else 
{
for (int divizor=-1; divizor>=numarul; divizor--)
 if (numarul%divizor==0)
   sumaDivizori += divizor;
}
cout<<"Suma divizorilor este "<<sumaDivizorilor;
return 0;
}
Iti ofer un algoritm in C++ mai eficient.Succes!
#include <iostream>
using namespace std;
int n , d;
long long s = 0;
int main()
{
cin >> n;
for(d=1 ; d*d<n ; d++)
if(n % d == 0)
s = s + d + n / d;
if(d * d == n)
s = s + d;
cout << s;
return 0;
}