2 guyu7guyu guyu7guyu 于 2013.05.31 23:27 提问

java 求解大于Long.MAX_VALUE的五个素数。。。

为什么运行没有结果啊!!!等着交作业呢。。。求一个简化的程序。。。至少能让我算出数字啊!!!或者大神帮我找一下错误啊。。。跪求啊!!!!

import java.math.*;

public abstract class FindFivePrime{
    public static void main(String[] args){
        BigDecimal i = new BigDecimal(Long.MAX_VALUE);
        for(int j = 0; j < 5; i = i.add(BigDecimal.ONE)){
            boolean check = isPrime(i);
            if(check){
                j++;
                System.out.println(i + " ");
            }
        }
    }

    public static boolean isPrime(BigDecimal n){

        if (n == new BigDecimal("2"))  
            return true; 
        BigDecimal i = new BigDecimal("2");
        int check = i.compareTo(BigSquareRoot.sqrt(n));
        for ( ;check != 1; i = i.add(BigDecimal.ONE)){  
            if (n.remainder(i) == new BigDecimal("0"))   
                return false; 
        }
        return true; 

    }
}

2个回答

lyyybz
lyyybz   Rxr 2016.08.19 10:51

请问你的问题解决了么,我碰到和你一样的问题!

qq_34602647
qq_34602647   2016.10.14 08:47

BigSquareRoot.这个有问题的

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!