第10001个素数

来源:互联网 发布:怎样将软件汉化 编辑:程序博客网 时间:2024/05/17 08:27

列出前6个素数,它们分别是2、3、5、7、11和13。我们可以看出,第6个素数是13。

第10,001个素数是多少?

package EULER7;import java.util.ArrayList;import java.util.List;import java.util.Scanner;/** * Created by Administrator on 2016/7/5. * 列出前6个素数,它们分别是2、3、5、7、11和13。我们可以看出,第6个素数是13。 * 第10,001个素数是多少? * 跳过所有偶数,既然是奇数,判断是否有因数时也跳过偶数 */public class EULER7 {    public static void main(String[] args){        System.out.print("输入第几个素数:");        Scanner input = new Scanner(System.in);        int num = input.nextInt();        long start = System.currentTimeMillis();        List<Long> primeList = new ArrayList<Long>();        primeList.add(2l);        long i = 3;        boolean isPrime = true;        while (primeList.size()<num){            isPrime = true;            for (long j=3;j<=i/2;j+=2){                if (i%j==0) {                    isPrime = false;                    break;                }            }            if (isPrime) {                primeList.add(i);            }            i += 2;        }        System.out.println("第"+num+"个素数为"+primeList.get(num-1));        long end = System.currentTimeMillis();        System.out.print("总用时:"+(end-start)+"毫秒");    }}
0 0
原创粉丝点击