Số chính phương là một số nguyên dương bằng bình phương của một số nguyên dương. Ví dụ: 1, 4, 9, 16, 100 … là những số chính phương; còn 3, 8, 15 … không phải là những số chính phương.
Cho trước một số nguyên dương n. Em hãy kiểm tra xem n có phải là số chính phương không?
Input: Một dòng duy nhất chứa số nguyên dương n.
Output: Đưa ra thông báo "yes" nếu n là số chính phương, ngược lại thông báo "no".
Ai ở đây giỏi về chủ đề này không ạ? Mình đang cần tìm câu trả lời và rất mong được sự giúp đỡ của các Bạn!
Các câu trả lời
Câu hỏi Tin học Lớp 8
Câu hỏi Lớp 8
Bạn muốn hỏi điều gì?
Đỗ Thị Linh
Để kiểm tra xem một số nguyên dương có phải là số chính phương hay không, ta có thể sử dụng phép căn bậc hai. Ta lấy căn bậc hai của số đó, nếu kết quả là một số nguyên và bình phương của số đó thì đó là số chính phương. Ngược lại, nếu căn bậc hai của số đó không phải là một số nguyên thì đó không phải là số chính phương.Cách 1:```pythonimport mathn = int(input())sqrt_n = math.sqrt(n)if int(sqrt_n) == sqrt_n: print("yes")else: print("no")```Cách 2:```pythonn = int(input())i = 1while i*i <= n: if i*i == n: print("yes") break i += 1else: print("no")```Kết quả:```Input: 16Output: yes```
Đỗ Bảo Hạnh
Ví dụ, nếu n = 16, căn bậc hai của 16 là 4 (một số nguyên dương), vậy n là số chính phương.
Đỗ Minh Ngọc
Nếu căn bậc hai của n không phải là một số nguyên dương, tức là n không phải là số chính phương.
Đỗ Huỳnh Dung
Nếu căn bậc hai của n là một số nguyên dương, tức là n là số chính phương.
Đỗ Minh Long
Để kiểm tra xem số n có phải là số chính phương hay không, ta cần tính căn bậc hai của n.