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...

504

Với giải Câu 20.11 trang 43 SBT Tin học lớp 10 Kết nối tri thức chi tiết trong Bài 20: Câu lệnh lặp For giúp học sinh dễ dàng xem và so sánh lời giải từ đó biết cách làm bài tập trong SBT Tin học 10. Mời các bạn đón xem:

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

Trả lờ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!")

Đánh giá

0

0 đánh giá