1181 质数中的质数(质数筛法)
来源:互联网 发布:派派交友软件 编辑:程序博客网 时间:2024/06/07 03:37
1181 质数中的质数(质数筛法)
题目来源: Sgu
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注
如果一个质数,在质数列表中的编号也是质数,那么就称之为质数中的质数。例如:3 5分别是排第2和第3的质数,所以他们是质数中的质数。现在给出一个数N,求>=N的最小的质数中的质数是多少(可以考虑用质数筛法来做)。
Input
输入一个数N(N <= 10^6)
Output
输出>=N的最小的质数中的质数。
Input示例
20
Output示例
31
#include <iostream>#include <cstdio>#include <algorithm>using namespace std;const int maxn=1000006;int p=1,k=0;//因为素数表从1开始int prime[maxn];bool is_prime[maxn];int ans[maxn];void sieve()//素数筛{ for(int i=2;i<maxn;i++) is_prime[i]=1; for(int i=2;i<maxn;i++) { if(is_prime[i]) { for(int j=2*i;j<maxn;j+=i) is_prime[j]=0; } }}void init()//处理素数{ for(int i=2;i<maxn;i++) if(is_prime[i]) prime[p++]=i;}void init2()//处理素数中的素数{ for(int i=2;i<=p;i++) if(is_prime[i]) ans[k++]=prime[i];}int main(){ int n; cin>>n; sieve(); init(); init2(); int pos=lower_bound(ans+1,ans+k+1,n)-ans;//二分查找>=N的答案, //函数lower_bound()在first和last中的前闭后开区间进行二分查找, //返回大于或等于val的第一个元素位置。 printf("%d\n",ans[pos]); return 0;}
阅读全文
1 0
- 质数中的质数(质数筛法)
- 质数中的质数(质数筛法)
- 质数中的质数(质数筛法)
- 质数中的质数(质数筛法)
- 1181 . 质数中的质数(质数筛法)
- 51Nod 1181-质数中的质数(质数筛法)
- 51nod 1181 质数中的质数(质数筛法)
- 51nod 1181 质数中的质数(质数筛法)
- 51 nod 1181 质数中的质数(质数筛法)
- 51nod--1181 质数中的质数(质数筛法)
- 51nod 1181 质数中的质数(质数筛法)
- 1181 质数中的质数(质数筛法)
- 51nod-【1181 质数中的质数(质数筛法)】
- 51nod 1181 质数中的质数(质数筛法)
- 51nod 1181 . 质数中的质数(质数筛法)
- 51nod:1181 质数中的质数(质数筛法)
- 51Nod 1181 质数中的质数(质数筛法)
- 【51Nod】1181 质数中的质数(质数筛法)
- 大数据学习4——伪分布式hadoop的配置和启动
- stm32之定时器运用———呼吸灯
- bzoj3504 [Cqoi2014]危桥 (网络流 最大流)
- C++基础知识3
- Android:这是一份非常详细的MVP+Rxjava2.0+Retrofit2.0相结合举例RecyclerView的实战篇章
- 1181 质数中的质数(质数筛法)
- Linux system samba案例
- Caffe源码:inner_product_layer.cpp
- 最大熵模型
- 5.输出亲朋字符串
- redis 集合set
- sql 面试题,常用sql 语句
- JavaScript == 和 ===
- HTML文本框录入字母自动大写