357
Cerinţa
Se citește un număr natural n
. Să se determine suma divizorilor 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 lui n
.
Restricţii şi precizări
0 < n ≤ 1.000.000.000
Exemplu
Intrare
6
Ieșire
12
Explicație
Divizorii lui 6
sunt 1
, 2
, 3
, 6
. Suma lor este 12
.
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; if(n != 1){ long long sum = 0; for(int d = 1; d * d <= n; ++d){ if(n % d == 0){ sum += d; sum += n / d; } if(d * d == n) sum -= d; } cout << sum; } else cout << 1; return 0; }
Comentarii