Sobes.tech
Back to questions
Senior
9

Реализовать метод: определить, является ли число идеальным квадратом

Companies where asked
ЦифровыеПривычки

Answer from AI

sobes.tech AI

Чтобы определить, является ли число идеальным квадратом, нужно проверить, существует ли целое число, квадрат которого равен этому числу.

Пример реализации на Java:

public class PerfectSquare {
    public static boolean isPerfectSquare(int num) {
        if (num < 0) return false; // отрицательные числа не могут быть квадратами
        int left = 0, right = num;
        while (left <= right) {
            int mid = left + (right - left) / 2;
            long square = (long) mid * mid; // использовать long, чтобы избежать переполнения
            if (square == num) {
                return true;
            } else if (square < num) {
                left = mid + 1;
            } else {
                right = mid - 1;
            }
        }
        return false;
    }

    public static void main(String[] args) {
        System.out.println(isPerfectSquare(16)); // true
        System.out.println(isPerfectSquare(14)); // false
    }
}

Здесь используется бинарный поиск по диапазону от 0 до num, что эффективно для больших чисел.