一定要找“牛吃草问题”的有效数据输入
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int c1 , c2 , cows , d1 , d2 , day , grass;
cin >> c1 >> d1 >> c2 >> d2 >> cows;
grass = (c1 * d1 - c2 * d2) / (d1 - d2);
day = (c1 - grass) * d1 / (cows - grass);
cout << day;
//草生长速度 = (第一队牛吃草的数量 - 第二队牛吃草的数量) / 两队牛吃草的天数差
//原有草量 = (牛的数量 - 草生长的速度)* 天数
return 0;
}
一、解决牛吃草问题的基本特点是要抓住原草量和新草生长速度是不变的,予以求解。
二、解决牛吃草问题常用到四个基本公式,分别是︰
(1)草的生长速度= (对应的牛头数×吃的较多天数-相应的牛头数×吃的较少天数)÷(吃的较多天数-吃的较少天数);
(2)原有草量=牛头数×吃的天数-草的生长速度×吃的天数;`
(3)吃的天数=原有草量÷(牛头数-草的生长速度);
(4)牛头数=原有草量÷吃的天数+草的生长速度。
这四个公式是解决消长问题的基础。
三、核心公式是:原有草量=(牛数-单位时间长草量可供应的牛的数量)×天数
设牧场原有草量为M,草每天生长的速度为x,可供25头牛吃吃的天数为t
方程:M=(10-x)×22=(16-x)×10=(25-x)t
解得:M=110 x=5 t=5.5