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