PTA Java练习题--Square Nummber

题目描述:
查找大于Long.MAX_VALUE的前十个平方数。平方数是n^2形式的数。例如,4、9和16是平方数。

输入:
无输入

输出:
9223372037000250000
(您的程序应显示其他九个平方数。每一个平方数将显示在下一行)

解决思路:
为了防止多次循环,我先对Long.MAX_VALUE进行开方,因为只需要求大于它的10个数,所以对开方后的Long.MAX_VALUE进行加1,再取其平方,循环十次即可。

import java.math.BigInteger;

public class SquareNumber {
    public static void main(String[] args) {

        for (int i=1;i<=10;i++) {

            long begin = (long) Math.sqrt(Long.MAX_VALUE);
            begin+=i;
            BigInteger r= new BigInteger(String.valueOf(begin));
            BigInteger s = r.multiply(r);
            System.out.println(s);
        }

    }
}

运行结果:
PTA Java练习题--Square Nummber