Sito void sito(bool *tab, unsigned int n) for (int i=2; i*i<=n; i++) przeszukujemy kolejnych kandydatów na pierwsze wystarczy sprawdzić do pierwiastka z n i<=sqrt(n) - podnosząc do kwadratu mamy i*i <= n if(!tab[i]) jesli liczba jest pierwsza(ma wartosc 0) for (int j = i*i ; j<=n; j+=i) to wykreslamy jej wielokrotnosci tab[j] = 1; ustawiając wartosć na 1 W Mainie: int n; bool *tab; cout<<"Podaj zakres gorny przedzialu: "; cin>>n; tab = new bool [n+1]; for(int i=2; i<=n; i++) //zerowanie tablicy tab[i] = 0; sito(tab, n); cout<<"Kolejne liczby pierwsze z przedzialu [2.."<