👤

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ăspuns :

Molau

#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.