se citeste de la o tastatura o valoare naturala n. Sa se afișeze numărul divizorilor numarului citit.
Răspunsuri la întrebare
Salut.
#include <iostream>
using namespace std;
int n, d;
int main()
{
d = 0;
cin >> n;
for(int i = 1; i <= n; i++) {
if(n % i == 0) {
d++;
}
}
cout << d;
return 0;
}
Am citit o valoare n cu cin. Apoi am folosit repetat "for" verificand daca fiecare numar de la 1 la n imparte n fara rest. Daca da, atunci "d" creste cu 1.
Dupa epuizarea numerelor de la 1 la n, se afiseaza d. Daca vrei divizorii proprii, pur si simplu poti scadea 2 din d, sau mai complicat putin, alegi ca verificarea numerelor sa se intample in intervalul deschis 1,n.
Important este sa mentionez ca metoda cu scaderea lui d cu 2 merge numai daca d este diferit de 0 si 1, fiindca:
0 are o infinitate de divizori
1 are un singur divizor.
Deci ai putea pune conditia ca atunci cand n nu este nici prim, nici compus, d va fi 0, iar in cazul cand n=0, d va fi infinit.