Top.Mail.Ru
Ответы

Java-программирование: ошибки в коде.

Подскажите, разобраться, где и в чем ошибка в коде Java. При запуске кода, программа не завершается. Суть задачи: необходимо найти первые 10 квадратных чисел, которые больше значения Long.MAX_VALUE. С учетом того, что значения очень большие, необходимо использовать класс BigInteger.

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Оракул
10мес
123456789101112131415161718192021
 import java.math.BigInteger; 
 
public class SquareNumbers { 
    public static void main(String[] args) { 
        BigInteger maxValue = BigInteger.valueOf(Long.MAX_VALUE); 
        int count = 0; 
         
        // Начинаем с квадратного корня из Long.MAX_VALUE 
        BigInteger bigNum = maxValue.sqrt().add(BigInteger.ONE); 
 
        // Найти первые 10 квадратных чисел, которые больше значения Long.MAX_VALUE 
        while (count < 10) { 
            BigInteger square = bigNum.multiply(bigNum); 
            if (square.compareTo(maxValue) > 0) { 
                System.out.println(bigNum + "^2 = " + square); 
                count++; 
             bigNum = bigNum.add(BigInteger.ONE);
             }
        } 
    } 
}