Informatică, întrebare adresată de nustiuinfofrate, 8 ani în urmă

se citesc in ordine a b si k toate trei numere naturale a < b sa se determine toate numerele naturale din intervalul [a,b] care au cel putin k divizori precum si numarul total al acestor numere
Programul trebuie scris in C++
astept un rasp !!

Răspunsuri la întrebare

Răspuns de molau
1

#include <iostream>

using namespace std;

int a, b, k, counter;

int nrDivizori(int n) {

   int nrDiv = 0;

   for(int i = 1; i <= n; i++) {

       if(n%i==0)

           nrDiv++;

   }

   return nrDiv;

}

int main()

{

   cout<<"a = "; cin>>a;

   cout<<"b = "; cin>>b;

   cout<<"k = "; cin>>k;

   

   for(int i = a; i <= b; i++) {

       if(nrDivizori(i)>=k)

           counter++;

   }

   

   if(counter)

       cout<<counter;

   else cout<<"Nu exista";

   return 0;

}

Atentie: Algoritmul utilizeaza un subprogram pentru numararea divizorilor, pentru simplificarea codului. De asemenea, metoda prevazuta in subprogram pentru numararea divizorilor nu este cea mai optima, insa este cea mai simplu de inteles.

Alte întrebări interesante