421
Cerinţa
Să se scrie o funcție C++ care să determine suma divizorilor unui număr natural transmis ca parametru. Funcția va returna rezultatul.
Restricţii şi precizări
- numele funcției va fi
sum_div - funcția va avea un singur parametru, cu valoarea mai mică decât
2000000000, reprezentând numărul pentru care se calculează suma divizorilor - suma divizorilor parametrului va fi returnată de funcție
Important
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
int sum_div(int n){
int sum = 0;
for(int d = 1; d * d <= n; ++d){
if(n % d == 0){
sum += n / d;
sum += d;
}
if(d * d == n)
sum -= d;
}
return sum;
}
Comentarii