[51nod1181]质数中的质数(素数筛法)
2017-05-27 18:55
190 查看
解题关键: 注意下标
#include<bits/stdc++.h> #define maxn 10000002 using namespace std; typedef long long ll; bool is_prime[maxn+2]; int prime[maxn+2]; int sieve(){ int p=0; fill(is_prime,is_prime+maxn,true); is_prime[0]=is_prime[1]=false; for(int i=2;i<maxn;i++){ if(is_prime[i]){ prime[p++]=i; for(int j=2*i;j<=maxn;j+=i){ is_prime[j]=false; } } } return p; } int main(){ int p=sieve(); int n; cin>>n; int t1=lower_bound(prime,prime+p,n)-prime+1; int t2=lower_bound(prime,prime+p,t1)-prime; cout<<prime[prime[t2]-1]<<endl; }
相关文章推荐
- [51NOD1181]质数中的质数(质数筛法)(欧拉筛)
- 51nod1181 质数中的质数(质数筛法)
- 质数中的质数(质数筛法)||51NOD1181
- 上学期学微机原理课,写的一个判断质数的程序-_-b
- 质数填表问题的回溯算法
- 用"埃拉托色尼筛"求质数
- 质数填表问题的回溯算法
- 质数
- 筛法求小于等于整数n的所有质数
- 计算素数(质数)java算法(应该是筛法)
- 编一个程序求质数的和
- 论坛1_5 ;判断质数
- 约数 倍数 质数(素数) 互质 最大公约数 最小公倍数
- 质数及求因子和
- 找质数,分解质因数,找完全数
- UVA 10168 把一个数n拆分成4个质数的和
- 素数筛法系列之5 完整实现2
- 输出101~200内的质数
- 00001-用穷举法打印1-100的质数,写出完整的程序
- 求质数算法的N种境界 (N > 10)