Facebook
From Melodic Tortoise, 6 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 249
  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.  
  53.         if(x < 2){ throw 1;}
  54.  
  55.         LiczbyPierwsze kasztanek(x);
  56.  
  57.                         for(int i = 2 ; i < argc; i++){
  58.           try{
  59.             x = stoi(string(argv[i]), nullptr);
  60.  
  61.             if(y == 0 || x < 0){throw 1;}
  62.  
  63.                           cout << x << " - " << kasztanek.liczba(x) << "\n";
  64.           }
  65.  
  66.           catch(invalid_argument){
  67.                         cout << argv[i] << " - To nie liczba\n";
  68.  
  69.                 }
  70.  
  71.           catch(int){
  72.                         cout << argv[i] << " - Nieprawidłowy zakres\n";
  73.                         }
  74.       }
  75.   }
  76.  
  77.   catch(invalid_argument){
  78.                 cout << argv[1] << " - To nie liczba\n";
  79.         }
  80.  
  81.   catch(int){
  82.                 cout << argv[1] << " - Nieprawidłowy zakres\n";
  83.   }
  84.  
  85.   return 0;
  86. }