题目描述:
查找大于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);
}
}
}
运行结果: