Suma Divizorilor Pari

Se citește un număr natural n. Să se determine suma divizorilor pari ai săi.
Date de intrare

Programul citește de la tastatură numărul n.
Date de ieşire

Programul afișează pe ecran numărul S, reprezentând suma divizorilor pari ai lui n.
Restricţii şi precizări

0<n<2^31

Exemplu

Intrare

30

Ieșire

48

Explicație

Divizorii pari lui 30 sunt 2, 6, 10 și 30. Suma lor este 48.

#include <iostream>

using namespace std;

int main()
{
    int n;
    long long S = 0;
    cin >> n;
    for(int d = 1 ; d * d <= n ; d ++)
        if(n % d == 0)
        {
            if(d % 2 == 0)
                S += d;
            if(d * d < n )
                if(n / d % 2 == 0)
                    S += n / d;
        }
    
    cout << S;
    
    return 0;
}
%d bloggers like this: