Методы Python для проверки того, является ли число идеальным квадратом

Чтобы проверить, является ли число точным квадратом в Python, можно использовать несколько методов. Вот некоторые из них:

Метод 1. Использование математического модуля

import math
def is_perfect_square(num):
    sqrt = math.isqrt(num)
    return sqrt * sqrt == num

Метод 2. Использование оператора возведения в степень

def is_perfect_square(num):
    sqrt = num  0.5
    return sqrt == int(sqrt)

Метод 3. Использование цикла

def is_perfect_square(num):
    if num < 0:
        return False
    if num == 0:
        return True
    for i in range(1, int(num  0.5) + 1):
        if i * i == num:
            return True
    return False

Метод 4. Использование встроенной функции math.isclose()

import math
def is_perfect_square(num):
    sqrt = math.sqrt(num)
    return math.isclose(sqrt, int(sqrt))

Все эти методы проверяют, является ли число точным квадратом, определяя, является ли его квадратный корень целым числом. Первый метод использует функцию math.isqrt()для вычисления целочисленного квадратного корня числа, а второй метод возводит число в степень 0,5 и проверяет, равно ли оно своему целочисленному представлению.. Третий метод использует цикл для перебора чисел до квадратного корня из входных данных и проверяет, равно ли какое-либо из них, умноженное на себя, входным данным. Четвертый метод использует функцию math.sqrt()для вычисления квадратного корня, а затем проверяет, близко ли оно к целому числу, с помощью функции math.isclose().