X

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

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

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: