趣味题_蚂蚁爬杆_猴子分桃

题一:

有些蚂蚁在一条水平线上走动,每只蚂蚁的速率都是1cm/s。
当一只蚂蚁走到水平线的任何一个端点时,它都会立刻掉下来。
当两只蚂蚁碰到一起时他们都会立刻调头向相反方向移动。
我们知道蚂蚁们在水平线上的初始位置,但不幸的是,我们不知道他们初始的运动方向。
你的任务是计算所有蚂蚁从水平线上掉下来可能所需的最早和最晚的时间。

掉头转向 等效于  擦肩而过,继续爬行 


思想:


计算每一次蚂蚁爬出杆子所需的时间的最大值,然后求max,min就行了 O(n)算法


题目二:

五只猴子采得一堆桃子,半夜里第一只猴子偷偷起来把桃平均分成五分,发现还多一个,它吃了哪个桃子,还拿走其中的一份,第二只猴子起来又把桃子分成五分,还多一个,它吃了那个桃子,有拿走其中的一份,第三第四第五只猴子都如此做了,请问这堆桃子有多少个。

思想:

设开始有n个桃子,我们把n写成(n+4)-4. 
第一个猴子来了,吃掉1个,还有桃子 (n+4)-4-1=(n+4)-5, 
这时恰好可分成5份,每份的桃子数为 
[(n+4)-5]/5=(n+4)/5-1 
(n+4)/5必须为整数,所以(n+4)是5的倍数,
第一个猴子藏掉一份后,剩下的桃子为:
(4/5)×[(n+4)-5]=(4/5)×(n+4)-4 

同样,第二个猴子来了,一吃一藏之后,剩下的桃子数为 
(4/5)×[(4/5)×(n+4)-5] 
由于(4/5)×(4/5)×(n+4)是整数,故(n+4)应是5×5=25的倍数,
如此一来五个猴子一吃一藏,恰好剩下 
(4/5)×(4/5)× (4/5)×(4/5) ×(4/5) ×(n+4)-5个桃子,
故(n+4)必须是5×5×5×5×5的倍数,
即n+4=5^5
 所以: n=3125-4=3121 
即开始最少有3121个桃子.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值