Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- unsigned czy_pierwsza(unsigned liczba)
- {
- if(liczba == 0 || liczba == 1)
- return 0; // 0 oznacza, że nie jest to liczba pierwsza, ale jednocześnie 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 liczbą pierwszą
- ++i;
- }
- return 1; // 1 oznacza, że 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;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement