1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <cmath>
#include <iostream>
 
using namespace std;
 
void createprimestable(int* p, int int sz)
{
       int i, j, k;
       for (= 0; i < sz; ++i) p[i] = (> 1) ? 1 : 0;
       
       for (= 2; i < sz; ++i) if (p[i] == 1)
       for (= i<<1; j < sz; j+=i) p[j] = 0;
};
 
int main(int argc, char** argv)
{
       if (argc != 2) return EXIT_FAILURE;
       int num(atoi(argv[1]));
       
       int *primes = (int*) malloc((num + 1) * sizeof(int));
       primes[0] = 0; createprimestable(primes, num + 1);
       
       cout << (primes[num] ? "PRIME" : "NOT PRIME") << endl;
       return EXIT_SUCCESS;
};