51nod 1181 质数中的质数(质数筛法)

Posted GraceSkyer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51nod 1181 质数中的质数(质数筛法)相关的知识,希望对你有一定的参考价值。

题目链接:51nod 1181 质数中的质数(质数筛法)

 1 #include<cstdio>
 2 #include<cmath>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 typedef long long ll;
 7 const int N = 1000001;
 8 int prime[N+1];
 9 void getPrime(){
10     memset(prime, 0, sizeof(prime));
11     for(int i = 2;i <= N; i++){
12         if(!prime[i])
13             prime[ ++prime[0] ] = i;
14         for(int j = 1; j <= prime[0] && prime[j] <= N / i; j++){
15             prime[ prime[j] * i ] = 1;
16             if(i % prime[j] == 0) break;
17         }
18     }
19 }
20 int main(){
21     getPrime();
22     int i, n, f;
23     scanf("%d", &n);
24     f = upper_bound(prime+1, prime + 1 + prime[0], n-1) - prime;
25     f = upper_bound(prime+1, prime + 1 + prime[0], f-1) - prime;
26     printf("%d\\n", prime[prime[f]]);
27     return 0;
28 }
View Code

 

以上是关于51nod 1181 质数中的质数(质数筛法)的主要内容,如果未能解决你的问题,请参考以下文章

51nod 1181 质数中的质数(质数筛法)

51NOD 1181 质数中的质数(质数筛法)

51nod 1181 质数中的质数(质数筛法)

51Nod - 1181 质数中的质数(质数筛法)

[51NOD1181]质数中的质数(质数筛法)(欧拉筛)

51nod 1181 质数中的质数