X

SBT Tin học 10 Kết nối tri thức

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à


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.

Giải sách bài tập Tin học 10 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:

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!")

Xem thêm các bài giải sách bài tập Tin học lớp 10 Kết nối tri thức hay, ngắn gọn khác: