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