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
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
Limba română,
8 ani în urmă
Fizică,
8 ani în urmă
Limba română,
8 ani în urmă
Ed. tehnologică,
8 ani în urmă
Limba română,
9 ani în urmă