欧拉工程第7题 找出第10001个质数

来源:互联网 发布:陆遥 数据 编辑:程序博客网 时间:2024/06/06 00:07

题目

前六个质数是2,3,5,7,11和13,其中第6个是13.

第10001个质数是多少?

解题方法

程序中用到的Prime类是我自定义的工具类,因为在做欧拉工程的题目遇到很多素数相关的题目,所以我实现了一个Prime工具类,方便解题。具体的源码以及用法参考我的另一篇文章——《Java工具类 素数类》

主要使用getPrimeArrayByLength函数返回长度为length的素数数组。这个函数会调用isPrime函数判断一个数是否为素数,初始状态Prime工具类会维护一个长度为1000的素数数组。当请求的新素数数组长度超过之前保存的,那么会替换之前的。而getMaxCheckedPrime可以获得保存的素数数组的最后一个元素。

程序

public static void solve() {    Prime.getPrimeArrayByLength(10001);    System.out.println(Prime.getMaxCheckedPrime());}
0 0