Câu hỏi:
13/07/2024 932Dự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.
Sách mới 2k7: 30 đề đánh giá năng lực DHQG Hà Nội, Tp. Hồ Chí Minh, BKHN 2025 mới nhất (600 trang - chỉ từ 140k).
Quảng cáo
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!")
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Viết chương trình nhập vào từ bàn phím số tự nhiên n và tính tổng:
S = 1 + 1/2 + 1/3 + ... + 1/n
Câu 2:
Viết chương trình tính tổng các số tự nhiên chẵn và tổng các số tự nhiên lẻ không vượt quá n (n là một số tự nhiên được nhập vào từ bàn phím).
Câu 3:
Lập trình giải bài toán dân gian TRĂM TRÂU TRĂM CỎ:
"Trâu đứng ăn năm
Trâu nằm ăn ba
Lụ khụ trâu già
Ba con một bó
Trăm con ăn cỏ
Trăm bó no nê.
Hỏi có bao nhiêu trâu đứng, trâu nằm, trâu già?".
Câu 4:
Viết chương trình nhập vào từ bàn phím số tự nhiên n và tính tổng:
S = 1 × 2 + 2 × 3 + 3 × 4 + ... + (n − 1) × n.
Câu 5:
Viết chương trình giải bài toán dân gian:
"Vừa gà vừa chó
Bó lại cho tròn
Ba mươi sáu (36) con
Một trăm (100) chân chẵn
Hỏi có mấy gà mấy chó?".
Câu 6:
Viết chương trình nhập số tự nhiên n từ bàn phím rồi tính tổng và tích các số thực sự của n (số k là ước số thực sự của n nếu n%k = 0, k < n).
Câu 7:
Cho đoạn chương trình sau:
sum=0
for i in range(1,11):
sum=sum+i*i
print(sum)
a) Kết quả thực hiện các câu lệnh trên là gì?
về câu hỏi!