[51nod 1181] 质数中的质数 - 筛法
2024-10-08 09:03:29
如果一个质数,在质数列表中的编号也是质数,那么就称之为质数中的质数。例如:3 5分别是排第2和第3的质数,所以他们是质数中的质数。现在给出一个数N,求>=N的最小的质数中的质数是多少(可以考虑用质数筛法来做)。
Solution
拿个筛子来筛筛然后暴力统计就可以了
我居然被 \(0\) 卡掉了,我是智障
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2000005;
int prime[MAXN+1]; // Note: Let prime[0] donate the number of primes
// Note: the array "prime" has two different roles in the algorithm
int isp[MAXN+1];
void presolve() {
memset(prime,0,sizeof prime);
for(int i=2;i<=MAXN;i++) {
if(!prime[i]) prime[++prime[0]]=i;
for(int j=1;j<=prime[0]&&prime[j]<=MAXN/i;j++) {
prime[prime[j]*i]=1;
if(i%prime[j]==0) break;
}
}
}
signed main() {
presolve();
int n,ans=-1;
cin>>n;
for(int i=1;i<=prime[0];i++) {
isp[prime[i]]=1;
if(isp[i]) ans=prime[i];
if(ans>=n) break;
}
cout<<ans;
}
最新文章
- android学习之路--------intent
- 与你相遇好幸运,Waterline的属性
- 黑马程序员----java基础笔记中(毕向东)
- 3.输入三个整数,xyz,最终以从小到大的方式输出。利用嵌套。
- HDU1518 Square
- CUGBACM_Summer_Tranning 组队赛解题报告
- file_get_contents url
- JavaWeb(一)JSP基础组成
- DWM1000 自动应答代码实现与实例
- Git使用(二、分支的创建和上传)
- flutte项目命令行打包
- pymysql 读取数据库没有字段
- ldap集成nginx
- Android自定义权限
- Python程序员之面试必回习题
- hibernate的一对多和多对一关联
- Linux操作系统中文件结构stat中st_size的说明以及对于文件中洞(Holes)的理解
- TransitionsTest
- CentOS下用yum配置php+mysql+apache
- windows 改路径有小差异