Em hãy viết chương trình giải bài toán có m trâu, n bó cỏ
Em hãy viết chương trình giải bài toán có m trâu, n bó cỏ, mỗi trâu đứng ăn k1 bó cỏ, trâu nằm ăn k2 bó cỏ, k3 trâu già ăn 1 bó cỏ.
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.12 trang 43 SBT Tin học 10: Em hãy viết chương trình giải bài toán có m trâu, n bó cỏ, mỗi trâu đứng ăn k1 bó cỏ, trâu nằm ăn k2 bó cỏ, k3 trâu già ăn 1 bó cỏ.
Lời giải:
Tương tự Câu 20.10, cần sử dụng một biến để ghi nhận tình huống tìm ra nghiệm.
Chương trình có thể viết như sau:
#Bài toán trăm trâu, trăm cỏ tổng quát
m = int(input("Số trâu: "))
n = int(input("Số bó cỏ: "))
k1 = int(input("Số bó cỏ 1 trâu đứng ăn: "))
k2 = int(input("Số bó cỏ 1 trâu nằm ăn: "))
k3 = int(input("Số trâu già ăn chung 1 bó cỏ: "))
co_nghiem = False
max_traudung = m // k1 + 1
max_traunam = m // k2 + 1
for i in range(1, max_traudung) :
for j in range(1, max_traunam) :
k = m – i – j
if k1*i + k2*j + k/k3 == n :
print("Trâu đứng ",i," trâu nằm ",j," trâu già " , k)
co_nghiem = True
if co_nghiem==False:
print("Bài toán vô nghiệm")