Advertisement
MeehoweCK

Untitled

Aug 21st, 2019
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.20 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. unsigned czy_pierwsza(unsigned liczba)
  7. {
  8.     if(liczba == 0 || liczba == 1)
  9.         return 0;           // 0 - nie jest to liczba pierwsza, ale nie posiada dzielnikรณw
  10.     for(unsigned dzielnik = 2; dzielnik < pow(liczba, 0.5); ++dzielnik)
  11.         if(liczba % dzielnik == 0)
  12.             return dzielnik;    // zwraca dzielnik - nie jest to liczba pierwsza
  13.     return 1;               // 1 - jest to liczba pierwsza
  14. }
  15.  
  16. unsigned najmniejsza(unsigned liczba)
  17. {
  18.     do
  19.     {
  20.         ++liczba;
  21.         if(czy_pierwsza(liczba) == 1)
  22.             return liczba;
  23.     } while(true);
  24. }
  25.  
  26. int main()
  27. {
  28.     cout << "Podaj liczbe naturalna: ";
  29.     unsigned n;
  30.     cin >> n;
  31.     unsigned wynik = czy_pierwsza(n);
  32.     if(wynik == 0)
  33.         cout << n << " nie jest liczba pierwsza.\nNajmniejsza liczba pierwsza wieksza od " << n << "wynosi " << najmniejsza(n) << endl;
  34.     else if(wynik == 1)
  35.         cout << n << " jest liczba pierwsza.\n";
  36.     else
  37.         cout << n << " nie jest liczba pierwsza, poniewaz dzieli sie przez " << wynik << endl << "Najmniejsza liczba pierwsza wieksza od " << n << " wynosi " << najmniejsza(n) << endl;
  38.     return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement