找出大于Long.MAX_VALUE的前10个平方数。平方数是指形式为n^2的数。例如,4、9以及16都是平方数,找到一种有效方法,使程序能快速运行。
package pack2;
import java.math.BigInteger;
public class SquareNumber {
public static void main(String[] args) {
squareNumber();
}
/**平方数*/
public static void squareNumber() {
BigInteger maxValue = BigInteger.valueOf(Long.MAX_VALUE);
System.out.println("Long.MAX_VALUE = " + Long.MAX_VALUE);
BigInteger next = BigInteger.valueOf((long) Math.sqrt(Long.MAX_VALUE)).add(BigInteger.ONE);
for (int i = 0; i < 10; i++) {
System.out.print(next.multiply(next) + " ");
System.out.println((next.multiply(next)).compareTo(maxValue) > 0);
next = next.add(BigInteger.ONE);
}
}
}
版权声明:本文为m0_62659797原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。