20.10. 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ămTrâu nằm ăn baLụ khụ...
Câu hỏi:
20.10. 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 trả lời:
Người trả lời: GV. Đỗ Thị Ánh
Câu trả lời chi tiết và đầy đủ hơn cho bài toán "Trăm trâu trăm cỏ" như sau:
Để giải bài toán này, chúng ta cần phân tích từng điều kiện của bài toán:
1. Mỗi con trâu đứng ăn được 5 bó cỏ.
2. Mỗi con trâu nằm ăn được 3 bó cỏ.
3. Ba con trâu già ăn cùng nhau hết 1 bó cỏ.
Dựa vào các điều kiện trên, chúng ta có thể lập công thức tính tổng số bó cỏ mà các loại trâu ăn như sau: 5x (số trâu đứng) + 3y (số trâu nằm) + 1 (số trâu già) = 100.
Tiếp theo, chúng ta có thể sử dụng vòng lặp để duyệt qua tất cả các trường hợp có thể để tìm ra các số lượng trâu thỏa mãn bài toán. Và kết quả cuối cùng sẽ là số trâu đứng (i), số trâu nằm (j) và số trâu già (k) tương ứng.
Dưới đây là mã chương trình Python để giải bài toán "Trăm trâu trăm cỏ":
```python
for i in range(1, 21):
for j in range(1, 34):
k = 100 - i - j
if 5*i + 3*j + k/3 == 100:
print("Trâu đứng", i, "trâu nằm", j, "trâu già", k)
```
Kết quả trả về sẽ cho biết số trâu đứng, trâu nằm và trâu già là bao nhiêu để thỏa mãn điều kiện trong bài toán.
Để giải bài toán này, chúng ta cần phân tích từng điều kiện của bài toán:
1. Mỗi con trâu đứng ăn được 5 bó cỏ.
2. Mỗi con trâu nằm ăn được 3 bó cỏ.
3. Ba con trâu già ăn cùng nhau hết 1 bó cỏ.
Dựa vào các điều kiện trên, chúng ta có thể lập công thức tính tổng số bó cỏ mà các loại trâu ăn như sau: 5x (số trâu đứng) + 3y (số trâu nằm) + 1 (số trâu già) = 100.
Tiếp theo, chúng ta có thể sử dụng vòng lặp để duyệt qua tất cả các trường hợp có thể để tìm ra các số lượng trâu thỏa mãn bài toán. Và kết quả cuối cùng sẽ là số trâu đứng (i), số trâu nằm (j) và số trâu già (k) tương ứng.
Dưới đây là mã chương trình Python để giải bài toán "Trăm trâu trăm cỏ":
```python
for i in range(1, 21):
for j in range(1, 34):
k = 100 - i - j
if 5*i + 3*j + k/3 == 100:
print("Trâu đứng", i, "trâu nằm", j, "trâu già", k)
```
Kết quả trả về sẽ cho biết số trâu đứng, trâu nằm và trâu già là bao nhiêu để thỏa mãn điều kiện trong bài toán.
Câu hỏi liên quan:
- 20.1. Hãy viết câu lệnh range cho kết quả là các dãy số sau:a) 0, 1,2 , 3..... 11.b) -2, -1, 0, 1,...
- 20.2. Kết quả thực hiện câu lệnh for đưới đây là gì?for i in range(10):print(i*i)
- 20.3. Cho đoạn chương trình sau:sum=0for i in range(1,11):sum=sum+i*iprint (sum)a) Kết quả thực...
- 20.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+ 1/2 + 1/3 + ... + 1/n
- 20.5. Viết chương trình nhập vào từ bàn phim số tự nhiên n và tính tổng:S=1x2 + 2x3 + 3x4 + ... +...
- 20.6. 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...
- 20.7. 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 ước số thực sự của...
- 20.8. Điểm tổng kết trung bình năm học được tính theo công thức có dạng: (diem1 x heso1 + diem2 x...
- 20.9. 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ònBa mươi sáu (36)...
- 20.11. 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...
- 20.12. 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...
Bình luận (0)