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

35 Puncte
Cerința
Se citesc două numere naturale a și b (a
Date de intrare
Programul citește de la tastatură numerele a și b, separate printr-un spațiu.

Date de ieșire
Programul va afișa pe ecran numărul de numere din intervalul [a,b] care au exact 3 divizori.

Restricții și precizări
1 ≤ a < b < 1000000000
Pbinfo cod 2547

Răspunsuri la întrebare

Răspuns de boiustef
1

#include <iostream>

#include <math.h>

using namespace std;

int prim(int m)

{

   if (m==0 || m==1) return 0;

   else {

      int d=1,i;

     for (i=2;i<=sqrt(m);++i){

       if (m%i==0) ++d;

     }

     if (d==1) return 1;

     else return 0;

   }

}

int main()

{

   int a, b;

   cin >> a >> b;

   int  sol=0, n=sqrt(a);

   if (n*n<a) ++n;

   while (n*n<=b)

   {

       if (prim(n)) ++sol;

       ++n;

   }

   cout << sol;

   return 0;

}


Alte întrebări interesante