首页 > 代码库 > 10001st prime

10001st prime

problem 7:10001st prime

题意:求第10001个质数

代码如下:

 1 #ifndef PRO7_H_INCLUDED
 2 #define PRO7_H_INCLUDED
 3 
 4 #include "prime.h"
 5 
 6 namespace pro7{
 7     int solve(){
 8         int p[200005];
 9         getPrime(200000,p);
10         return p[10000];
11     }
12 }
13 
14 #endif // PRO7_H_INCLUDED

其中,void getPrime(int n,int *p)函数如下:

技术分享
 1 void getPrime(int n,int *p){
 2     bool vis[1000005];
 3     memset(vis,0,sizeof(vis));
 4     int k=0;
 5     for(int i=2;i<=n;++i){
 6         if(!vis[i])p[k++]=i;
 7         for(int j=0;j<k&&i*p[j]<=n;++j){
 8             vis[i*p[j]]=1;
 9             if(!i%p[j])break;
10         }
11     }
12 }
View Code

 

10001st prime