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