Se citește un număr natural n. Să se determine suma divizorilor pari ai săi.
Date de intrare:
Programul citește de la tastatură numărul n.
Date de iesire:
Programul afișează pe ecran numărul S, reprezentând suma divizorilor pari ai lui n.
Restricţii şi precizări:
0
Exemplu:
Intrare:
30
Ieșire:
48
Explicație;
Divizorii pari lui 30 sunt 2, 6, 10 și 30. Suma lor este 48.
Răspunsuri la întrebare
Răspuns de
12
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.
Utilizator anonim:
20 de puncte...
Alte întrebări interesante
Fizică,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Informatică,
9 ani în urmă
Limba română,
9 ani în urmă