P15. 练4.4 牛吃牧草 https://ok.hn.cn/p/P15

说明

有一个牧场,牧场上的牧草每天都在匀速生长,这片牧场可供15头牛吃20天,或可供20头牛吃10天,那么,这片牧场每天新生的草量可供几头牛吃1天?

输入格式

输出格式

输出一个自然数,表示每天新生的草量可供几头牛吃1天。

题解

数学解题思路如下:

假设一头牛每天吃草一份,那么15头牛20天吃草为:15 X 20 = 300份。20头牛10天吃草为:20 X 10 = 200份。

前者是在原有草的基础上,加上20天新草。后者是在原有草的基础上,加上10天新草。

300-200=100份,20-10=10天。

说明10天长草100份,那么每天长草10份,够10头牛吃一天。

答案是这片牧场每天新生的草量可供10头牛吃一天.

再继续想:10头牛每天专吃新长出来的草,那剩余的牛吃原有草,我们可以得到:

原有草:(15-10)X 20 = 100份 或者 (20-10)X 10 = 100份

解题思路

典型的数学问题,草的总量差值/时间差 = 牧草每天新生的草量可喂养牛的数量。

参考代码

# s + s1 = 15 * 20 * z (s为原来草量,z 为每一分草量)
# s + s2 = 20 * 10 * z
# 上面两次 相减 得
# s + s1 - (s +s2) = s1 -s2 = 100 * z
# (s1 -s2) / (20-10) = 100*z / 10 = 10x
# 所以可以供 10 头牛吃一天
# 10*z / z = 10


a = 15*20
b = 20*10
x =  (a -b) / (20-10 )
print(int(x))

视频讲解