找到最小数有3个整数根?

时间:2014-11-14 19:48:03

标签: java intellij-idea discrete-mathematics

java问题

找到最小的数字x,这样x> 1,Square Roots,Cube root和Fifth Roots都是整数??

我在java中尝试过这段代码,但没有结果?

    int i = 1;
    while (true) {
        i++;
        if (Math.pow(i, 1.0 / 2) % 1 == 0 &&
                Math.pow(i, 1.0 / 3) % 1 == 0 &&
                Math.pow(i, 1.0 / 5) % 1 == 0) {
            break;
        }
        System.out.println(i);
    }

1 个答案:

答案 0 :(得分:0)

你的if条件不正确!

您的代码应为:

public static void main(String [] args){
    BigInteger i = new BigInteger("2");
    double sqroot, cuberoot, fifthroot;
    while(true) {
        sqroot = Math.sqrt(i.floatValue());
        cuberoot = Math.cbrt(i.floatValue());
        fifthroot = Math.pow(i.floatValue(),1/5.0d);
        System.out.print("i = "+i);
        if(Math.floor(sqroot)==sqroot && Math.floor(cuberoot)==cuberoot && Math.floor(fifthroot)==fifthroot){
             break;
        }
        i= i.add(new BigInteger("1"));
    }
    System.out.println(i);
}