Java、平方数

  • Post author:
  • Post category:java


找出大于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 版权协议,转载请附上原文出处链接和本声明。