351
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
.
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; long long sumaDiv = 0; for (int d = 1; d * d <= n; ++d) if (n % d == 0) { if (d % 2 == 1) sumaDiv += d; if (d * d != n && ((n / d) % 2 == 1)) sumaDiv += n / d; } cout << sumaDiv; return 0; }
Comentarii