Informatică, întrebare adresată de cristecatalina7, 7 ani în urmă

se citeste de la o tastatura o valoare naturala n. Sa se afișeze numărul divizorilor numarului citit.

Răspunsuri la întrebare

Răspuns de asociatia33
0

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.


cristecatalina7: mersii
asociatia33: cu placeree
Alte întrebări interesante