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

Să se tipărească toate numerele prime aflate între două numere naturale
citite. Se va folosi o funcție care verifică dacă un număr este prim sau nu.

Răspunsuri la întrebare

Răspuns de boiustef
1

Răspuns:

#include <iostream>

using namespace std;

bool prim(int n) {

   int p=1, d;

   if (n<2) p=0;

   for (d=3; d*d<=n && p==1; d+=2) {

       if (n%d==0) p=0;

   }

   return p;

}

int main()

{

   int a,b;

   cin >> a >> b;

   if (a>b) swap(a,b);

   int m=a, nr=0;

   if (m<2) m=2;

   if (m==2 && m<b) {cout << m << " "; nr=1; }

   if (m%2==0) ++m;

   for (int i=m; i<b; i+=2) {

       if (prim(i)) {

           cout << i << " ";

           ++nr;

       }

   }

   if (nr==0) cout << "nu exista";

   return 0;

}

Explicație:

Succese! După o suficientă cercetare, sper să fie clar....


petrovancatalin30: mulțumesc
boiustef: cpl
Alte întrebări interesante