You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.6 KiB
2.6 KiB
牛吃草问题
一、题目描述
首先,题目肯定会给你4
个数据,我们就这样表示:一块牧场,够a
头牛吃b
天,够c
头牛吃d
天。
二、草每天增长的速度
我们就假设:每头牛每天吃一份,那么:
第一种情况,这a
头牛在b
天中,吃了a*b
份
同理,第二种情况,吃了c*d
份
由于数据不同,a*b
与c*d
两乘积一定有差
我们就用(a*b-c*d)/(b-d)
或(c*d-a*b)/(d-b)
,
为什么这样做呢?我们想一想,a
头牛与c
头牛吃的量差在哪儿呢?
原有草量?肯定不是,同一片牧场嘛!
那肯定是a
头牛与c
头牛吃的 天数的差异了
为什么呢,因为草也是按一定的速度增长的,你吃的天数多,累计增加的草量也多。
怎么求出这个增加速度呢?就是我们之前提出的那个式子啦
a*b-c*d
或c*d-a*b
即两种情况吃的总草量的 差值(这个差值就是由草的增长造成的),b-d
或d-b
即两种情况吃的天数差值,二者前者除以后者,便是 草每天增长的速度啦,我们将这个结果先表示为e
三、 原草量
接着,我们就可以用a*b-b*e
或c*d-d*e
来求出原有草量了。
四、常规问法
做到这个地步,题目大致会有3
种问法:
1、给你n
头牛,求他们可以吃多少天
- 如果
n≤e
,肯定可以吃无数天了(每天增长的量都吃不完,草量肯定是持续在增长的,越吃越多) - 如果
n>e
,那么,我们就先派e
头牛去吃增加的草量(每天都把增加的草量刚好吃完,这样原有草量一旦吃完,草场的草也就吃完了),而剩下的n-e
头牛,就去吃原有草量,能吃的天数便是原有草量除以剩下的牛一天能吃的总量就可以了,即(a*b-b*e)/(n-e)
2、给你n
天,求多少头牛可以刚好n
天吃完
与之前一样,还是要先派e
头牛去吃增加的草量(把增加的把控的死死的,随时待命),接着,只要把原有草量在n
天之内吃完就好了,需要派的牛即为(a*b-b*e)/n
,加上吃增加草量的e
头牛,答案就是(a*b-b*e)/n+e
。
3、问这个草场最多可供多少头牛一直吃下去
这种问题只要你思路想到了,其实过程很简单
你想想,牛想要一直吃下去,每天吃的总草量就得≤每天增加的草量,那么,答案便是e
(向下取整,保证答案为整数)头牛了。