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

c++
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

Răspunsuri la întrebare

Răspuns de daniel22
12
int main()
{
long long n,s=0,div=1;
cin>>n;
while(div<=n)
{
if(n%div==0&&div%2!=0)
s=s+div;
div++;
}
cout<<s;
return 0;
}

edward12: asa am facut si eu, si iau numai 60p , trebuie unul mai eficient
daniel22: pe ce site ai facut?
edward12: pbinfo
daniel22: dar ce eroare iti da?
daniel22: time limit exceeded?
edward12: timp limita depasit.
daniel22: incearca sa pui in loc de div++, div=div+2 si atunci poti sa stregi in if div%2!=0
daniel22: asa o sa ia doar divizorii impari
Alte întrebări interesante