Sobes.tech
Senior
43

Бір әдісін жүзеге асырыңыз: санның толық квадрат екенін анықтау.

Сұралған компаниялар
ЦифровыеПривычки

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, что эффективно для больших чисел.