Să se scrie algoritmul prin care se afişează suma şi produsul divizorilor primi ai unui număr natural n care se introduce de la tastatură. 1
#include <iostream>
using namespace std;
int main() {
int n;
cout << „Introduceti un numar natural: „;
cin >> n;
int sum = 0, prod = 1;
int d = 2;
while (n > 1) {
if (n % d == 0) {
sum += d;
prod *= d;
n /= d;
} else {
d++;
}
}
cout << „Suma divizorilor primi: ” << sum << endl;
cout << „Produsul divizorilor primi: ” << prod << endl;
return 0;
}
- Se citeste de la tastatura numarul natural n.
- Se initializeaza sum si prod cu 0 si 1, respectiv.
- Se incepe cautarea divizorilor primi a lui n de la 2.
- Daca divizorul curent d divide pe n, se aduna d la suma si se inmulteste cu produsul.
- Daca d nu divide pe n, se trece la urmatorul divizor.
- Se imparte n la d pentru a continua cautarea divizorilor.
- Se repeta pasii 4-6 pana cand n devine 1.
- Se afiseaza suma si produsul divizorilor primi gasiti.