👤

Cerinţa
Se citește un număr natural n. Să se determine suma divizorilor impari 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 impari ai lui n.

Restricţii şi precizări
0 < n < 1.000.000.000



Exemplu
Intrare

30
Ieșire

24
Explicație
Divizorii impari lui 30 sunt 1, 3, 5 și 15. Suma lor este 24.


Răspuns :

#include <iostream>
using namespace std;
int n,d,s;
int main()
{
    cin>>n;
    for(d=1;d*d<n;d++)
    {
        if(n%d==0)
         {
             if(d%2==1) s=s+d;
             if((n/d)%2==1) s=s+n/d;
         }
    }
    if((d*d==n)&&(d%2==1)) s=s+d;
    cout<<s;
    return 0;
}