Scrieti o functie ,,sum" care primeste ca parametru in numar natural x cu maxim 9 cifre si returneaza suma divizorilor numarului x
EXEMPLU: sum(6)=12
Răspunsuri la întrebare
Răspuns de
1
int sum(int n)
{
int S = 0;
for (int i = 1; i<=n; i++)
{
if (n%i==0){S+=i;}
}
return S;
}
Ca sa afisezi sum(6) scrii in main "cout << sum(6)"
{
int S = 0;
for (int i = 1; i<=n; i++)
{
if (n%i==0){S+=i;}
}
return S;
}
Ca sa afisezi sum(6) scrii in main "cout << sum(6)"
Răspuns de
5
Salut! Am facut o sursa C++, eficienta pentru calcului sumei divizorilor. Numarul are maxim 9 cifre...asa ca trebuie o sursa eficienta.
int sum(int n)
{
int d, s = 0;
for(d = 1; d * d < n; d++)
{
if (n % d == 0) s = s + d + n / d;
}
if (n == d * d) s = s + d;
return s;
}
int sum(int n)
{
int d, s = 0;
for(d = 1; d * d < n; d++)
{
if (n % d == 0) s = s + d + n / d;
}
if (n == d * d) s = s + d;
return s;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Geografie,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă