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

Se citeste de la tastatura un număr natural n (n[2,10 9 ]). Sa se afiseze pe ecran suma divizorilor primi din descompunerea in factori primi a lui n.
Exemplu: dacă n=2 3 3 2 7 2 , se va afisa 12 (2+3+7).

Repede va rog!!!!!!!!!!!!!!

Răspunsuri la întrebare

Răspuns de ms154
1

Răspuns:

Răspuns:

#include <iostream>

using namespace std;

int main ()

{

int n;

cin >> n;

int sum = 0;

if(n % 2 == 0){

    sum = n;

}

for(int i = 2;i<=n/2;i++){

    if(n%i == 0 && i %2 ==0){

        sum+=i;

    }

}

cout<<sum;

return 0;

}

Explicație:

Daca numarul este par il adaugam direct la suma pentru a parcurge numerele de la 2 la n/2(pentru a nu parcurge tot numarul => o eficienta mai buna).

Daca numarul se imparte la unul din numerele de la 2 pana la n/2 atunci acesta este divizor, iar daca acesta este par il adaugam la suma.

Explicație:

Alte întrebări interesante