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



【解题思路】
这道题是道纯数学题“牛吃草问题”,行程问题的变种。数学解题思路如下:
假设一头牛每天吃草一份,
那么15头牛20天吃草为:15 X 20 = 300份。
20头牛10天吃草为:20 X 10 = 200份。
300=原有草+20天生长草
200=原有草+10天生长草
如果把它们相减,就是:
300-200=(原有草+20天生长草)-(原有草+10天生长草)=10天生长草,
说明10天生长草100份,即每天生长10份,够10头牛吃一天。
再继续想:
10头牛每天专吃新长出来的草,那剩余的牛吃原有草,我们可以得到:原有草:(15-10)X 20 = 100份 或者 (20-10)X 10 = 100份
把数学问题转换为代码实现,是一种有意思的事情。由于小朋友是刚接触一些简单的C++代码,所以,可写出最简单的版本。

【题解参考】(向左滑动,查看完整代码)
/*参考程序*/
#include<bits/stdc++.h>  //比赛可用C++万能头文件
int main()
{
   int m1,n1,m2,n2;//mi为牛的数量,ni为mi对应的吃草天数。
   cin>>m1>>n1>>m2>>n2; // 15 20 20 10
   cout << (m1*n1-m2*n2)/(n1-n2); //假设一头牛每天吃草一份
   return 0;
}