Giả sử chúng ta có hai số x và y. Chúng ta phải nối chúng và kiểm tra xem số kết quả có phải là số bình phương hoàn hảo hay không.
Vì vậy, nếu đầu vào là x =2 y =89, thì đầu ra sẽ là True vì sau khi ghép số sẽ là 289, tức là 17 ^ 2.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- first_num:=x dưới dạng chuỗi
- second_num:=y dưới dạng chuỗi
- res_num:=nối first_num và second_num, sau đó chuyển đổi thành số nguyên
- sqrt_val:=phần nguyên của căn bậc hai của (res_num)
- nếu sqrt_val * sqrt_val giống với res_num, thì
- trả về True
- trả về Sai
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Mã mẫu
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