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

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 TheSolver
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)"
Răspuns de express
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;
}
 
Alte întrebări interesante