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

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ăspunsuri la întrebare

Răspuns de express
13
#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;
}


MadalinaMadutaa: Multumesc mult!
Alte întrebări interesante