Cum se afiseaza numai numerele prime dintr un interval? IN C++ pt clasa a 9 a
( cum se scrie in c++ ca numarul de divizori al unui numar dintr un interval [a,b] este de 2) URGENT, DAU COROANA!!!

Răspuns :

Salut!

Am sa-ti las mai jos 2 variante prin care poti verifica si afisa numerele dintr-un interval daca sunt prime sau nu

(se garanteaza ca a < b)

#include <iostream>

using namespace std;

bool prim(int n)

{

 if (n <= 1)

 {

   return false;

 }

 else

 {

   for (int i = 2; i <= n / 2; i++)

   {

     if (n % i == 0)

     {

       return false;

       break;

     }

   }

 }

 return true;

}

int main()

{

 int a, b;

 cin >> a >> b;

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

 {

   if (prim(i) == true)

   {

     cout << i << " ";

   }

 }

 return 0;

}

Sau uite si o varianta poate mai usoara de inteles, fara subprogram

#include <iostream>

using namespace std;

int main()

{

 int a, b;

 cin >> a >> b;

 if (a == 1)

 {

   a = 2;

 }

 while (a < b)

 {

   int prim = 0;

   for (int i = 2; i <= a / 2; i++)

   {

     if (a % i == 0)

     {

       prim = 1;

       break;

     }

   }

   if (prim == 0)

   {

     cout << a << " ";

   }

   a++;

 }

 return 0;

}