蓝桥杯-第n个素数
2017-03-27 22:33
316 查看
题目
素数就是不能再进行等分的整数。比如:7,11。而9不是素数,因为它可以平分为3等份。一般认为最小的素数是2,接着是3,5,…
请问,第100002(十万零二)个素数是多少?
请注意:2 是第一素数,3 是第二个素数,依此类推。
-代码
结果
程序大概花了350milliseconds
官方答案
有人说这样解,
用素数分布定理预判范围,然后用埃拉托色尼法筛吧
反正我是不会。。。。
素数就是不能再进行等分的整数。比如:7,11。而9不是素数,因为它可以平分为3等份。一般认为最小的素数是2,接着是3,5,…
请问,第100002(十万零二)个素数是多少?
请注意:2 是第一素数,3 是第二个素数,依此类推。
-代码
public class NPrime { public static void main(String[] args) { int N = 10000000, n = 100002; //long start = System.currentTimeMillis(); boolean[] isRight = new boolean ; //这是较优的一种筛选了 for(int i=2;i<N/2;i++) { if(isRight[i]) continue; for(int j=2;j<=N/i;j++) { if(i*j<N) isRight[i*j] = true; } } int cnt = 1; for(int i=3;i<N;i+=2) { if(!isRight[i]) cnt++; if(cnt==n) { System.out.println(i); break; } } //long end = System.currentTimeMillis(); //System.out.println(end-start); } }
结果
1299743
程序大概花了350milliseconds
官方答案
有人说这样解,
用素数分布定理预判范围,然后用埃拉托色尼法筛吧
反正我是不会。。。。
相关文章推荐
- 蓝桥杯真题——第n个素数
- 蓝桥杯:等差素数列
- 蓝桥杯:梅森素数
- 蓝桥杯第八届--第二题等差素数列
- JAVA 面试题 - 【快速获取第N个素数】
- 第N个素数的渐近公式
- 蓝桥杯 ALGO-51(素数,打表)
- C语言:求第N个至M个之间的素数和(包括第N个和第M个)
- 第n个素数是多少?
- 第八届蓝桥杯省赛真题 - 2.等差素数列
- 蓝桥杯——趣味素数问题(2017.2.3)
- 第八届蓝桥杯C++B组第二题:等差素数列
- 求第n个斐波纳契数是否是素数
- 第n个素数
- 蓝桥杯:求一个5位数的最大循环素数
- 第n个素数是多少?
- ACM:蓝桥杯:素数求和问题
- 第八届蓝桥杯省赛B组之等差素数列
- 【蓝桥杯】【组素数】
- Java高职蓝桥杯校内选拔题素数问题