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