Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm tra số tạo từ nối hai số có phải bình phương hoàn hảo trong Python

Cho hai số x, y. Nối chúng lại (ví dụ x=2, y=89 → 289) và kiểm tra xem số kết quả có phải bình phương hoàn hảo không.

Ví dụ: 289 = 17^2 → True.

Thuật toán

  • Chuyển x, y thành chuỗi, nối lại, chuyển về int → res_num.
  • Tính căn bậc hai nguyên sqrt_val = int(sqrt(res_num)).
  • Kiểm tra sqrt_val * sqrt_val == res_num.

Ví dụ code

from math import sqrt

def solve(x, y):
    first_num = str(x)
    second_num = str(y)
    res_num = int(first_num + second_num)
    sqrt_val = int(sqrt(res_num))
    if sqrt_val * sqrt_val == res_num:
        return True
    return False

x = 2
y = 89
print(solve(x, y))

Đầu vào

2, 89

Đầu ra

True