#include #include using namespace std; unsigned czy_pierwsza(unsigned liczba) { if(liczba == 0 || liczba == 1) return 0; // 0 oznacza, ze nie jest to liczba pierwsza, ale jednoczesnie nie posiada dzielników unsigned i = 2; while(i < pow(liczba + 1, 0.5)) { if(liczba % i == 0) return i; // i oznacza dzielnik, przez który liczba nie jest liczba pierwsza ++i; } return 1; // 1 oznacza, ze liczba jest pierwsza } unsigned najmniejsza(unsigned liczba) { while(true) { ++liczba; if(czy_pierwsza(liczba) == 1) return liczba; } } int main() { cout << "Podaj liczbe naturalna: "; unsigned liczba; cin >> liczba; unsigned wynik = czy_pierwsza(liczba); if(wynik == 0) cout << liczba << " nie jest liczba pierwsza. Namniejsza liczba pierwsza wieksza od " << liczba << " to 2." << endl; else if(wynik == 1) cout << liczba << " jest liczba pierwsza." << endl; else cout << liczba << " nie jest liczba pierwsza, poniewaz dzieli sie przez " << wynik << ". Najmniejsza liczba pierwsza wieksza od " << liczba << " to " << najmniejsza(liczba) << "." << endl; return 0; }