Witam!
Chciałem napisać program który wypisuje liczby pierwsze na zasadzie wypisywania kolejnych liczb naturalnych i sprawdzeniu ich przy pomocy funkcji if (gdy reszta z dzielenie wszystkich poprzednio wypisanych liczb nie równa się 0 to wypisujemy tą liczbę itd.)
zaczynając od liczby 2 np.
liczba 2 gdy podzielimy ją przez poprzednie liczby (w tym wypadku nie ma dzielnika) daje reszty inną niż 0 wiec wypisuje ją do ciągu
liczba 3 podzielona przez wszystkie poprzednie liczby (czyli tylko 2) daję resztę inną niż zero i wpisujemy ją do ciągu
liczba 4 podzielona przez wszystkie poprzednie liczby (2 i 3) daje resztę w jednym z przypadków 0 (4/2=2 bez reszty) wiec pomijamy ją
wiec na razie nasz ciąg wygląda tak:
2
3
Teraz tylko nie wiem jak to zrobić.
Zrobiłem szkic algorytmo-podobny: http://img863.imageshack.us/img863/7253/liczbapierwsza.jpg
i zacząłem pisać program który nie działa tak jak powinien:
#include <iostream>
using namespace std;
int main()
{
int a, n;
int i;
cout<<"Podaj n ";
cin>>n;
cout<<endl;
for (i=2;i<n;++i)
for (a=2;a<n;++a)
if (i%a)
{
cout <<i<<endl;
}
cout <<endl<<"Nacisnij ENTER aby zakonczyc"<<endl;
getchar();
return 0;
}
Proszę o pomoc w napisaniu programu według mojego pomysłu lub innego :)
Z góry dziękuję