为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA的一道习题:找出五个大于Long.MAX_VALUE的素数

JAVA的一道习题:找出五个大于Long.MAX_VALUE的素数

叮当猫咪 2019-03-19 21:18:48
在素数判断方法isPrime处不知道该怎么写才能让程序跑出结果而不用等到天长地久...public static void main(String[] args) {        long startTime = System.currentTimeMillis();        BigInteger bigNum = new BigInteger(Long.MAX_VALUE + "");        bigNum = bigNum.add(BigInteger.ONE);        int count = 1;        while (count <= 5) {            if (isPrime(bigNum)) {                System.out.println(bigNum);                count++;            }            bigNum = bigNum.add(BigInteger.ONE);        }        System.out.println(bigNum.toString());        long endTime = System.currentTimeMillis();        System.out.println("Time spent is " +            (endTime - startTime) + " milliseconds");    }    public static boolean isPrime(BigInteger num) {                        return true;    }
查看完整描述

1 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

java的BigInteger有自带的isProbablePrime函数,把参数设置大一点,结果就几乎不会出错。


public static boolean isPrime(BigInteger num) {

        return num.isProbablePrime(50);

    }


查看完整回答
反对 回复 2019-04-17
  • 1 回答
  • 0 关注
  • 1147 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信