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.
Va rog si explicatii. e luata de pe pbinfo
Răspunsuri la întrebare
Răspuns de
3
Ar trebui sa iti dea 100 de puncte.
long sum_div_prim(long long int n,int &p){
int i,s=0;
for(i=2;i*i<=n;i++)
if(n%i==0)
{
s+=i;
while(n%i==0)
n/=i;
}
p=s;
return p;
}
long sum_div_prim(long long int n,int &p){
int i,s=0;
for(i=2;i*i<=n;i++)
if(n%i==0)
{
s+=i;
while(n%i==0)
n/=i;
}
p=s;
return p;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Chimie,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă