第100002个素数 【问题描述】 素数就是不能再进行等分的整数。比如:7,11。而9不是素数,因为它可以平分为3等份。 一般认为最小的素数是2,接着是3,5,... 请问,第100002(十万零二)个素数是多少? 请注意:2 是第一素数,3 是第二个素数,依此类推。
|
#include<iostream>
#include<stdio.h>
#include<cmath>
#define N 10000000
using namespace std;
int a[N];
int main()
{
int i,j,k=1;
for (i=2;i<=N;i++)
a[i]=i;
for (i=2;i<=sqrt(N);i++)
{
if (a[i]!=0)
for (j=i*2;j<=N;j=j+i)
a[j]=0;
}
for (i=2;i<=N;i++)
if (a[i]!=0)
a[k++]=a[i];
cout<<a[100002]<<endl;
}