NOI 1.5 44:第n小的质数
---恢复内容开始---
- 描述
-
输入一个正整数n,求第n小的质数。
- 输入
- 一个不超过10000的正整数n。
- 输出
- 第n小的质数。
- 样例输入
-
10
- 样例输出
-
29
#include<iostream>
using namespace std;
int n,s;
];
int pan(int t)
{
)
{
;
;i<=s;i++)//若它是质数,则不不能整除比它小的所有的质数
)
{
ok=;break;
}
if(ok)
{
t++;continue;
}
return t;
}
}
int main()
{
cin>>n;
p[]=;s++;//s表示当前质数数目
;i<=n;i++)
{
;//下一个质数的至少比上一个质数大1
int h=pan(t);//确定下一个质数
p[++s]=h;
}
cout<<p[n];
}
- 方法2:是对方法1的改进,方法1中是判断不能整除所有比它小的质数,结合根号n复杂度判断质数的原理,例:15=3*5,枚举到3时判断了一次,5时又判断了一次,造成重复判断。所以判断能否整除比它小的所有的质数,仅需判断到根号n即可
#include<cstdio> #include<cmath> using namespace std; int n,s; ]; int devide(double k) { int x=(int)k; ;i<s;i++) { if(p[i]>=x) ;//因为开立方后的数k强制转化成了整数x,实际上x比k小了,所以要+1 } } int main() { scanf("%d",&n); p[]=;p[]=; s=; while(s<n) { int tmp=p[s];//上一个质数 s++;//当前要找的是第s个质数 ) { tmp++;//至少比上一个质数大1 bool ok=false; int test=devide(sqrt(tmp));//找到要判断的数开平方后处于哪两个质数之间 ;i<=test;i++) ) { ok=true; break; } if(ok) continue; p[s]=tmp; break; } } printf("%d",p[n]); }
---恢复内容结束---
NOI 1.5 44:第n小的质数的更多相关文章
- NOI 1.5编程基础之循环控制 44:第n小的质数
描述 输入一个正整数n,求第n小的质数. 输入 一个不超过10000的正整数n. 输出 第n小的质数. 样例输入 10 样例输出 29
- 1.5编程基础之循环控制44:第n小的质数
#include<iostream>#include<cmath>using namespace std;int main(){ int n; cin>>n; in ...
- [NOI Online 2021 提高组] 积木小赛
思路不说了. 想起来自己打比赛的时候,没睡好.随便写了个\(HASH\),模数开小一半分都没有. 然后学了\(SAM\),发现这个判重不就是个水题. \(SAM\)是字串tire的集合体. 随便\(d ...
- noi 第n小的质数
总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个正整数n,求第n小的质数. 输入 一个不超过10000的正整数n. 输出 第n小的质数. 样例输入 10 样例输出 29 一定 ...
- 39:第n小的质数
39:第n小的质数 总时间限制: 1000ms 内存限制: 65536kB描述 输入一个正整数n,求第n小的质数.输入 一个不超过10000的正整数n.输出 ...
- 第n小的质数
总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个正整数n,求第n小的质数. 输入 一个不超过10000的正整数n. 输出 第n小的质数. 样例输入 10 样例输出 29 代碼 ...
- 牛客练习赛44 C:小y的质数
链接:https://ac.nowcoder.com/acm/contest/634/C?tdsourcetag=s_pcqq_aiomsg 来源:牛客网 题目描述 给出一个区间\([L,R]\),求 ...
- 牛客练习赛44 B:小y的线段
链接:https://ac.nowcoder.com/acm/contest/634/B 来源:牛客网 题目描述 给出\(n\)条线段,第\(i\)条线段的长度为\(a_i\),每次可以从第\(i\) ...
- java小程序 质数
package com.test; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; im ...
随机推荐
- devexpress 安装及破解
安装dx DXperience-10.1.4 破解文件下载
- 清华学堂 Range
Descriptioin Let S be a set of n integral points on the x-axis. For each given interval [a, b], you ...
- CodeForces460B. Little Dima and Equation
B. Little Dima and Equation time limit per test 1 second memory limit per test 256 megabytes input s ...
- 使用express-generator初始化你的项目目录
express 4.x以后将express命令独立到 express-generator包中,所以想使用express初始化项目目录,可以npm install express-genrator ...
- [Android]用图库打开指定的文件夹,没错是第一个画面直接是图库的文件夹画面
参考了这个里面的代码 http://bbs.csdn.net/topics/380084274 一直报错 06-16 23:58:50.698 26148-26161/com.example.myap ...
- bzoj1057: [ZJOI2007]棋盘制作--最大子矩阵
既然要求最大01子矩阵,那么把应该为0的位置上的数取反,这样就变成求最大子矩阵 最大子矩阵可以用单调栈 #include<stdio.h> #include<string.h> ...
- PHP+Zend 输出时中文乱码问题
1.把输入的格式改成 echo iconv("GB2312","UTF-8",'我爱PHP'); 2.其他的方法,还不会用,有待完善........
- SQL SERVER 查询表或字段在哪里使用过
select b.name from dbo.syscomments a, dbo.sysobjects b where a.id=b.id and b.xtype='p' and a.text li ...
- insert操作卡死的处理过程
insert操作卡死的处理过程 先看看insert为什么被卡死 SQL> select sql_id from v$sql where sql_text like 'delete from st ...
- linux cntlm代理的配置
在linux下需要配置代理上网,如yum, wget等.如果直接配置windows下的代理,如下: export http_proxy=http://<proxyIP>:<port& ...