Informatică
cristian21
2023-01-24 19:28:00
1) Ciurul lui Eratostene: Să se formeze un vector care să conţină elementele prime mai mici decât un număr dat n, n<1000, utilizând procedeul de excludere prezentat în manualul de matematică (excluderea se va face prin inlocuirea elementului cu 0 şi nu se vor afişa elementele nule).
Răspunsuri la întrebare
cristinasergiu
2023-01-25 02:15:34

#include  using namespace std; int main(){     int v[1001], n, i, j, nr;     for(i=1;i<=1000;i++)v[i]=i;     v[1]=0;//Nu este nr prim     for(i=2;i<=1000;i++){         if(v[i]!=0){//daca nu l-am eliminat             nr=v[i];             for(j=i+nr;j<=1000;j+=nr){                 //Setam toti multiplii lui nr la 0                 v[j]=0;             }         }     }     for(i=1;i<=1000;i++)         if(v[i]!=0)cout<

Andreea16
2023-01-25 02:16:49

Varianta mai eficientă și care folosește mai puțin spațiu: #include using namespace std; const int NMAX = 200000000; char ciur[NMAX]; int main() {     int n;     cin >> n;     fill_n(ciur, NMAX, 1);     for(int i=2; i*i<=n; i++) {         if(ciur[i])             for(int j=i+i; j<=n; j+=i)                 ciur[j] = 0;     }     for(int i=2; i<=n; i++)         if(ciur[i]) cout << i << ;     return 0; }

Adăugați un răspuns