Facebook
From Blush Bison, 6 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 229
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. class LiczbyPierwsze
  8. {
  9.     public:
  10.  
  11.         int tab_prime[1000];
  12.  
  13.         LiczbyPierwsze(int n){
  14.             int k = 0;
  15.             for(int i = 2; i <= n; i++){
  16.                 if(if_prime(i)){
  17.                     tab_prime[k] = i;
  18.                     k++;
  19.                 }
  20.             }
  21.  
  22.         }
  23.  
  24.         ~LiczbyPierwsze(){}
  25.  
  26.         int liczba(int m){
  27.             return tab_prime[m];
  28.                 }
  29.         private:
  30.  
  31.                 bool if_prime(int n)
  32.         {
  33.             if(n<2)
  34.                 return false;
  35.  
  36.             for(int i=2;i*i<=n;i++)
  37.                 if(n%i==0)
  38.                     return false;
  39.             return true;
  40.         }
  41.  
  42. };
  43.  
  44.  
  45.  
  46.  
  47. int main(int argc, char* argv[]){
  48.  
  49.  
  50.   try{
  51.         int x = stoi(string(argv[1]), nullptr);
  52.         int y = 0;
  53.  
  54.         if(x < 2){ throw 1;}
  55.  
  56.         LiczbyPierwsze kasztanek(x);
  57.  
  58.                         for(int i = 2 ; i < argc; i++){
  59.           y = kasztanek.liczba(stoi(string(argv[i]), nullptr));
  60.           x = stoi(string(argv[i]), nullptr);
  61.  
  62.           if(y == 0 || x < 0){throw 1;}
  63.                           cout << argv[i] << " - " << y << "\n";
  64.                         }
  65.   }
  66.  
  67.   catch(invalid_argument){
  68.                 cout << "To nie liczba\n";
  69.         }
  70.   catch(int){
  71.                 cout << "Nieprawidłowy zakres\n";
  72.   }
  73.   return 0;
  74. }
  75.