驴子拉萝卜的问题
来源:互联网 发布:ov7620 数据手册 编辑:程序博客网 时间:2024/05/16 01:21
问题:
在全国房价上涨的大背景下,新疆的房价也像火箭一样网上蹿升。这时阿凡提坐不住了。阿凡提虽然有个非常聪明的脑袋,但是没有房子,也是找不到老婆滴。所以阿凡提打算经商,用他的小毛驴把萝卜从小镇A运到沙漠的另一端的小镇B贩卖,中间的路程有1000km。阿凡提只有3000个萝卜,而驴每次最多只能背1000个萝卜,每走1km还会吃掉1个萝卜。问,阿凡提最多能卖多少个萝卜。(阿凡提最后在小镇B找到的老婆,定居在那了,所以不用考虑阿凡提最后能不能回来)
解答:
我们先不管阿凡提神奇的小毛驴只吃一个萝卜就可以走1km。但是我们发现,如果阿凡提让小毛驴背着1000个萝卜一直从A走到B,驴就会把萝卜全吃光,并且,阿凡提还回不去了,这是行不通的。仔细考虑,如果让驴一直走1000km,走的越远,驴的负载就越小。也就是说,一开始的时候,驴背了1000个萝卜,每公里要吃掉1个萝卜;走到998km的时候,驴才背了2个萝卜,每公里依旧吃掉1个萝卜,显然越往后越没有充分发挥神奇小毛驴的作用。
我们再这样想,在沙漠这种很少有人的地方,我们不必担心把萝卜中途放下会有人偷,所以我们可以考虑先将萝卜全部运到中途的某个位置,然后再继续运。这个位置有什么要求吗?有!我们希望小毛驴从这个位置重新开始运的时候,是背着最多的1000个萝卜开始的,这样小毛驴就没充分利用了。那我们应该在中途停几次呢?2次,即中途第一个位置剩2000个萝卜,中途第二个位置剩1000个萝卜,最后将1000个萝卜一次性运到B。
2是怎么算出来的,这里我们有一个公式。假如最多有M个萝卜,小毛驴每次最多运N个,那么中途停顿的次数k为:
k = M/N - 1;
如有2400个萝卜,毛驴每次最多运600个,则k = 3。
如上图。下面就要求出X和Y分别距离A的长度,即AX和AB。
很简单,当在X处只剩下2000个萝卜的时候,有
3000 - 2*AX - 2AX - AX = 2000;
AX = 200。
同理,可得出XY = 1000/3.
那么YB = 1400/3.
最后剩余的萝卜t = 1600/3 = 533.333.
取整为533个。
- 驴子拉萝卜的问题
- 吃不着萝卜的驴子
- 火车运煤,驴子吃萝卜,骆驼吃香蕉
- 驴子的故事
- 驴子的故事
- 驴子的希望
- 布里丹的驴子
- 运神像的驴子
- 运盐的驴子
- A城一个商人有一头驴子和3000根胡萝卜.要将萝卜拉到1000公里外的B城去卖,只能用驴子驮。已知驴子一次性可驮1000根胡萝卜,但每走一公里要吃掉一根胡萝卜.问商人共可卖出多少胡萝卜?
- 毛驴和萝卜问题
- 老农和驴子的故事
- 人生哲理 之 驴子的故事
- 驴子和他的影子
- 邪恶的萝卜
- 萝卜
- 关于兔子吃萝卜问题,走一步吃个萝卜。
- 萝卜和坑的故事
- ORACLE DBA工具收集(Oracle DUL/AUL/ODU 恢复工具,可以脱离Oracle运行环境,直接从数据文件中读取记录)
- Android中Adapter的一点一滴
- OCP-1Z0-051-V9.02-69题
- 简单的php文件上传。一个文件搞定。
- oracle sql 生成日历
- 驴子拉萝卜的问题
- OCP-1Z0-051-V9.02-70题
- windows基于阿帕奇服务器,实现vc++文件下载功能
- 继承和组合
- 打通防火墙,支持远程访问mongodb
- Objective-C语法之继承、封装、多态
- Java工具类——DES加密和解密工具 I
- java面试题
- android中tab的自定义及使用