Informatică, întrebare adresată de eduardmihailescu26, 8 ani în urmă

Salut. Ma poate ajuta cineva cu aceasta problema va rog frumos? Ma pregatesc pentru bac si mi-ar fi de mare ajutor. C++ va rog.

Subprogramul suma are un singur parametru, n, prin care primeste un numar natural (n∈[2, 10^{9}]. Subprogramul returneaza suma divizorilor primi ai lui n. Scrieti definitia completa a subprogramului.
Exemplu: pentru n=12 subprogramul returneaza 5 (divizorii primi ai lui 12 sunt 2 si 3)

Anexe:

Răspunsuri la întrebare

Răspuns de andrei750238
4

int suma(int n){

int s=0;

int i=2;

while(n!=1){

 if(n%i==0){

  s+=i;

  while(n%i==0) n/=i;

 }

 i++;

}

return s;

}

Anexe:

eduardmihailescu26: Multumesc mult!
eduardmihailescu26: Crezi ca ma poti ajuta si la celelalte probleme la care am pus intrebari? Sunt tot de informatica. Le gasesti pe profilul meu cred.
Alte întrebări interesante