👤

Exercitiul din poza, în c++, mersi anticipat.​

Exercitiul Din Poza În C Mersi Anticipat class=

Răspuns :

Răspuns:

int suma(int n)

{

int sum = 0;

int i = 2;

while (n != 1)

{

 int exp = 0;

 while (n % i == 0)

 {

  exp++;

  n /= i;

 }

 

 if (exp)  

  sum += i;

  i++;

 if (i * i > n)

  i = n;

}

return sum;

}

Explicație:

int suma(int n){

   int d = 2, sum = 0;

   while(n > 1){

       int p = 0;

       while(n % d == 0)

           p++, n /= d;

       if(p)

           sum += d;

       d++;

       if(d * d > n)

           d = n;

   }

   return sum;

}

Daca ai nelamuriri, ma poti intreba in comentarii!