se considera numarul natural N. sa se scrie un program care: a) calculeaza suma si produsul divizilor acestui numar. b)afiseaza divizorii numarului N si numarul acesta
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int N, produs=1, suma=0, nr=0, i=0;
cin>>N;
for(i=1;i<=N;i++)
if(N%i==0)
{
suma=suma+i; // suma divizorilor
produs=produs*i; // produsul divizorilor
nr=nr+1; // cati divizori exista
}
cout<<"a) Suma divizorilor este: "<<suma;
cout<<endl;
cout<<"Produsul este: "<<produs;
cout<<endl;
cout<<"b) Numarul "<<N<<" are "<<nr<<" divizori"<<endl;
cout<<"Acestia sunt: ";
for(i=1;i<=N;i++)
if(N%i==0)
cout<<"[ "<<i<<" ] ; ";
}
Explicație:
Divizorii unui numar incep de la 1 si se termina la numarul insusi.
Pentru ca un numar sa aiba divizori, acesta trebuie sa se imparta exact la un alt numar, ceea ce inseamna ca daca N : X are restul 0 => X este divizorul lui N.
De exemplu, in program, pentru N=45 se va afisa pe ecran:
a) Suma divizorilor este: 78
Produsul este: 91125
b) Numarul 45 are 6 divizori
Acestia sunt: [ 1 ] ; [ 3 ] ; [ 5 ] ; [ 9 ] ; [ 15 ] ; [ 45 ]