Informatică, întrebare adresată de Istefan, 9 ani în urmă

Cerinţa
Să se scrie o funcție C++ care să determine suma divizorilor primi ai unui număr natural transmis ca parametru. Funcția întoarce rezultatul prin intermediul unui parametru de ieşire.

Restricţii şi precizări
numele funcției va fi sum_div_prim
funcția va avea doi parametri, reprezentând numărul pentru care se calculează suma divizorilor, respectiv valoarea calculată
numărul pentru care se calculează suma divizorilor primi va fi mai mare decât 1 și mai mic decât 2.000.000.000
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.

Răspunsuri la întrebare

Răspuns de SFK
27
int sum_div_prim ( int x , int & y )
{  int i ; y = 0 ; 
   for ( i = 1 ; i * i < x ; ++i )         
       if ( x % i == 0 ) y = y + i , y = y + x / i ; 
  if ( i * i == x ) y = y + i ; 
  return y ;
}

E corecta solutia deoarece stiu de unde e problema si e verificata . Daca vrei explicatii , te rog intreaba .
Alte întrebări interesante