Advertisement
MeehoweCK

Untitled

Jul 5th, 2021
864
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.26 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. unsigned long long czy_pierwsza(unsigned long long liczba)
  6. {
  7.     if(liczba < 2)
  8.         return 0;           // 0 oznacza, że podana liczba jest mniejsza od 2
  9.     for(unsigned long long i = 2; i * i <= liczba; ++i)
  10.         if(liczba % i == 0)
  11.             return i;       // i oznacza, że podana liczba nie jest liczbą pierwszą, ponieważ dzieli się przez i
  12.     return 1;               // 1 oznacza, że podana liczba jest liczbą pierwszą
  13. }
  14.  
  15. unsigned long long wieksza_pierwsza(unsigned long long liczba)
  16. {
  17.     for(unsigned long long i = liczba + 1; true; ++i)
  18.         if(czy_pierwsza(i) == 1)
  19.             return i;
  20. }
  21.  
  22. int main()
  23. {
  24.     cout << "Podaj liczbe naturalna: ";
  25.     unsigned long long liczba;
  26.     cin >> liczba;
  27.  
  28.     unsigned long long wynik = czy_pierwsza(liczba);
  29.  
  30.  
  31.     switch(wynik)
  32.     {
  33.     case 0:
  34.         cout << liczba << " nie jest liczba pierwsza.\n";
  35.         break;
  36.     case 1:
  37.         cout << liczba << " jest liczba pierwsza.\n";
  38.         break;
  39.     default:
  40.         cout << liczba << " nie jest liczba pierwsza, poniewaz dzieli sie przez " << wynik << ". Najmniejsza liczba pierwsza wieksza od " << liczba << " jest " << wieksza_pierwsza(liczba) << ".\n";
  41.     }
  42.     return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement