|  | 
|  | 
| back to board | Why Runtime error(access violation) #include <iostream>#include <math.h>
 using namespace std;
 
 int Prime[15000], nPrime;
 int mark[15000];
 
 void sieve(int n)
 {
 int i, j, limit=sqrt(15000)+2;
 
 mark[1]=1;  ///mark is not prime...so...
 
 for(i=4; i<=n; i+=2)
 mark[i]=1;
 
 Prime[nPrime++]=2;
 
 for(i=3; i<=n; i+=2)
 if(!mark[i])
 {
 Prime[nPrime++]=i;
 if(i<=limit)
 {
 for(j=i*i; j<=n; j+=i*2)
 mark[j]=1;
 }
 }
 }
 
 int main()
 {
 sieve(15000);
 int n;
 cin >> n;
 int arr[2000];
 //cout << Prime[n-1] << endl;
 
 for(int i=0; i<n; i++)
 {
 cin >> arr[i];
 }
 for(int i=0; i<n; i++)
 cout << Prime[arr[i]-1] << endl;
 
 return 0;
 }
 | 
 | 
|