Odpowiedź:
#include <iostream>
using namespace std;
void SitoEratostenesa(bool Pierwsze[], int N)
{
Pierwsze[2]=true;
for (int i=3;i<N;i++)
Pierwsze[i]=(i%2==1);
int d=3;
while (d*d<N)
{
for (int i=d;i*d<N;i+=2)
Pierwsze[i*d]=false;
do
d+=2;
while (!Pierwsze[d]);
}
}
int main()
{
int N;
cout << "Podaj liczbe do ktorej mamy wypisywac liczby pierwsze" << endl;
cin >> N;
bool Pierwsze[N];
SitoEratostenesa(Pierwsze, N);
for (int i=2;i<N;i++)
if (Pierwsze[i]) cout<<i<<" ";
return 0;
}
Wyjaśnienie:
Jak coś niejasne to pisz :)