//问题描述:牛吃草问题:有一块牧场,可供10头牛吃20天,15头牛吃10天,则它可供多少头牛吃4天?
//假设每头牛每天吃一份(eatPerday=1) 。关键等式是消耗量==原有量+生产量
//可供10头牛吃20天,即10*eatPerday*20==原有草量(origin)+growPerday*20
//可供15头牛吃10天,即15*eatPerday*10==原有草量(origin)+growPerday*10
//已知了eatPerday,就可以求出growPerday=(10*eatPerday*20-15*eatPerday*10)/(20-10);
//然后origin就可以求出了,然后吃4天可供牛的数目也很容易求出了。
#include <iostream>
using namespace std;
int main()
{
const double eatPerday=1; //假设每头牛每天吃1份
double origin; //牧场原有草量
double growPerday; //每天草的生长速度
//根据10头牛可吃20天,15头牛可吃10天,可以求出每天草的生长速度
int num1=10;
int days1=20;
int num2=15;
int days2=10;
growPerday=(num1*eatPerday*days1-num2*eatPerday*days2)/(days1-days2);
//求出牧场原有草量
origin= num1*eatPerday*days1 -growPerday*days1;
//求出4天可供多少头牛吃
int days=4;
int num=(origin+growPerday*days)/days/eatPerday;
cout<<"4天可供"<<num<<"头牛吃草"<<endl;
return 0;
}