logo

Câu 20.11 trang 43 SBT Tin học 10: Dựa vào lời giải của Câu 20.9, em hãy viết chương trình giải bài toán gà và chó tổng quát với tổng số gà và chó là m và tổng số chân là n được nhập vào từ bàn phím

icon_facebook

Bài 20. Câu lệnh lặp For

Câu 20.11 trang 43 SBT Tin học 10: Dựa vào lời giải của Câu 20.9, em hãy viết chương trình giải bài toán gà và chó tổng quát với tổng số gà và chó là m và tổng số chân là n được nhập vào từ bàn phím. Lưu ý: Trong trường hợp tổng quát, không phải với bất kì cặp số m và n nào bài toán cũng có lời giải. Ví dụ nếu m = 2, n = 10 bài toán vô nghiệm.

Lời giải ngắn nhất

Nếu kí hiệu k là số gà thì số chó sẽ là m – k. Lời giải của bài toán chính là giá trị k thoả mãn điều kiện k × 2 + (m – k) × 4 = n. Trong chương trình, ta sẽ sử dụng biến co_nghiem để ghi nhận việc xác định được lời giải. Giá trị ban đầu của co_nghiệm được gán bằng False, khi tìm ra nghiệm thì giá trị của nó được đổi thành True.

Chương trình có thể viết như sau:

print("GIẢI BÀI TOÁN GÀ VÀ CHÓ TỔNG QUÁT")

print("Vừa gà vừa chó")

print("Bó lại cho tròn")

print("Có đúng m con")

print("Tròn n chân chẵn")

print("Hỏi có mấy gà, mấy chó?")

co_nghiem=False

m = int(input("Tổng số gà và chó là: "))

n = int(input("Tổng số chân là: "))

for k in range(m + 1) :

if ((k * 2 + m - k) * 4) == n):

print("Số gà là: ", k)

print("Số chó là: ", m - k)

co_nghiem = True

if co_nghiem==False:

print("Bài toán có " , m, "gà và chó với ", n, " chân vô nghiệm!")

icon-date
Xuất bản : 13/06/2024 - Cập nhật : 13/06/2024

Câu hỏi thường gặp

Đánh giá độ hữu ích của bài viết

😓 Thất vọng
🙁 Không hữu ích
😐 Bình thường
🙂 Hữu ích
🤩 Rất hữu ích
image ads