Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.30 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. template <class Generic>
  6. struct Array
  7. {
  8.     Generic * arrayObj;
  9.     int arrayObjCount;
  10. };
  11.  
  12. Array<int> * GetPrimeNumbers(int n)
  13. {
  14.     bool * eratostenePrimes = new bool[n + 1];
  15.     for (int i = 2; i <= n; ++i)
  16.         eratostenePrimes[i] = true;
  17.  
  18.     int eratostenePrimesCount = n - 1;
  19.     for (int i = 2; i <= n; ++i)
  20.         if (eratostenePrimes[i])
  21.             for (int j = 2; i * j <= n; ++j)
  22.                 if (eratostenePrimes[i * j])
  23.                 {
  24.                     --eratostenePrimesCount;
  25.                     eratostenePrimes[i * j] = false;
  26.                 }
  27.  
  28.     Array<int> * returnArray = new Array<int>;
  29.     returnArray->arrayObj = new int[eratostenePrimesCount];
  30.     returnArray->arrayObjCount = 0;
  31.     for (int i = 2; i <= n; ++i)
  32.         if (eratostenePrimes[i])
  33.         {
  34.             returnArray->arrayObj[returnArray->arrayObjCount] = i;
  35.             ++returnArray->arrayObjCount;
  36.         }
  37.  
  38.     delete eratostenePrimes;
  39.  
  40.     return returnArray;
  41. }
  42.  
  43. int main()
  44. {
  45.     int n;
  46.     cin>>n;
  47.  
  48.     Array<int> * primesArray = GetPrimeNumbers(n);
  49.  
  50.     for (int i = 1; i < primesArray->arrayObjCount; ++i)
  51.         cout<<primesArray->arrayObj[i] - primesArray->arrayObj[i - 1]<<' ';
  52.  
  53.     delete primesArray;
  54.  
  55.     return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement