Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- unsigned long long czy_pierwsza(unsigned long long liczba)
- {
- if(liczba < 2)
- return 0; // 0 oznacza, że podana liczba jest mniejsza od 2
- for(unsigned long long i = 2; i * i <= liczba; ++i)
- if(liczba % i == 0)
- return i; // i oznacza, że podana liczba nie jest liczbą pierwszą, ponieważ dzieli się przez i
- return 1; // 1 oznacza, że podana liczba jest liczbą pierwszą
- }
- unsigned long long wieksza_pierwsza(unsigned long long liczba)
- {
- for(unsigned long long i = liczba + 1; true; ++i)
- if(czy_pierwsza(i) == 1)
- return i;
- }
- int main()
- {
- cout << "Podaj liczbe naturalna: ";
- unsigned long long liczba;
- cin >> liczba;
- unsigned long long wynik = czy_pierwsza(liczba);
- switch(wynik)
- {
- case 0:
- cout << liczba << " nie jest liczba pierwsza.\n";
- break;
- case 1:
- cout << liczba << " jest liczba pierwsza.\n";
- break;
- default:
- cout << liczba << " nie jest liczba pierwsza, poniewaz dzieli sie przez " << wynik << ". Najmniejsza liczba pierwsza wieksza od " << liczba << " jest " << wieksza_pierwsza(liczba) << ".\n";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement