Documente Academic
Documente Profesional
Documente Cultură
Lecia 12
2. Probleme rezolvate
2.1. Se citete un numr natural n. S se afieze toii divizorii numrului n.
Exemplu: dac se citete n = 10 se va afia 1 2 5 10.
Rezolvare: generm toate numerele naturale mai mici sau egale cu n i dac n se mparte exact la
numrul generat, acest numr va fi afiat
#include <iostream>
using namespace std;
int n,d;
int main()
{
cout << "n="; cin>>n; //citesc n
for (d=1; d<=n;d++) //generam numerele de la 1 la n
{
if(n%d==0) //daca n se imparte exact la d
cout<<d<< ;//afisam divizorul
}
return 0;
}
Cercul de informatic
Lecia 12
Explicaie: n acest caz trebuie s numrm divizorii numrului. Vom utiliza o variabil nr care va
reine numrul de divizori. Desigur, numerotarea ncepe de la 0, prin urmare valoare iniial a
variabilei nr va fi 0. Generm toate numerele naturale mai mici sau egale cu n i dac n se mparte
exact la numrul generat valoarea lui nr crete cu 1.
#include <iostream>
using namespace std;
int n,uc, nr;
int main()
{
.; //citesc n
nr = 0;//numararea divizorilor incepe de la 0
..................... //generam numerele de la 1 la n
{
if(................) //daca n se imparte exact la d
nr = nr + 1;//creste numarul de divizori
}
; //afisez suma
return 0;
}
2