332
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