猴子背香蕉的最强解答

@[TOC]猴子背香蕉的最强解答

猴子背香蕉的最强解答

有只小猴子在树林里摘了100根香蕉,小猴的家离香蕉堆放的地方有50米.小猴要把香蕉背回家,而它每次最多背50根,可小猴嘴馋,每走一米就要吃掉一根香蕉.想一想小猴最多能背回家几根香蕉?

答案

先鄙视一下流传的答案50根
两个答案:100根或16.6666666根。

分歧

是哪个答案取决一个前提:猴子手上没香蕉的时候会怎么样,1不吃,答案选100根;2会死,答案选16.6666666根

过程1

对于1的,每次走0.49米,然后放下香蕉往回走,晃荡晃荡等瘾发作了再回到原位继续搬香蕉。所以一个香蕉都不吃到达50米。

过程2

对于2的,猴子每次携带x个香蕉(另外提前说一下x=总香蕉-50),向前移动d距离,消耗掉d个香蕉,往回走再消耗d个香蕉,使得x-2d个香蕉位于+d处,且猴子不动,做功=(x-2d)d,在这里x是常数d是变量,解方程最值得到d=x/4最优,也就是:
过程A:搬运x个香蕉,使x/2个香蕉移动到x/4处,消耗x/2个。

开始模拟:

从初始开始一共100个香蕉位于0米处,令x=50,执行A过程
得到:25个香蕉位于12.5米处,猴子和50个香蕉位于0米处。
再令猴子带着50个香蕉前进到12.5米,途中损失12.5个香蕉。
此时:25+37.5=62.5个香蕉,和猴子,位于12.5米处。

这个大过程B中,x=(当前香蕉-50)=50,一共消耗3x/4=37.5个香蕉,使50+x/4=62.5个香蕉,移动到+x/4=12.5米
所以每消耗3x/4个香蕉,能令所有香蕉50+x个,前进x/4米距离。

关键就在于3X/4 ÷ x/4 = 3
将100个香蕉分成不能一波带到终点的x=50个香蕉,和一波带到终点的50个香蕉,不断前进直至消耗光前50个,一共能前进50/3的距离,也就是某个时刻,在50/3=16.666米的距离处有猴子和50个香蕉。接着从此再把香蕉一波带走,消耗(50-16.666)个香蕉前进(50-16.666)米距离 到终点,自然剩下50-(50-50/3)=50/3=16.66666根香蕉

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
scratch猴子香蕉代码是一种基于图形化编程语言的方式,让孩子们能够轻松理解和编写代码。下面是一个用scratch编写的猴子香蕉的简单代码: 首先,我们需要画出猴子香蕉,可以在scratch的绘画区域中使用相应的图形工具进行绘制。 接下来,我们需要设定猴子的初始位置,可以通过把猴子的x和y坐标设定为屏幕中央,使它出现在屏幕正中央。 然后,我们需要设置猴子的行动。我们可以使用一些控制块来实现猴子的行为。比如,使用“当猴子接触到香蕉时”这个事件块,让猴子能够察觉到香蕉的存在。 接下来,在该事件块中,我们可以添加一个“向前移动10步”的动作块,让猴子能够向前移动10个像素。这样,当猴子接触到香蕉时,它将向前移动一小步。 最后,我们还可以在猴子吃到香蕉时,添加一个“播放音效”或者“跳舞”的动作块,以增加乐趣和互动性。 这样,我们的猴子香蕉代码就编写完成了。当我们点击“运行”按钮后,猴子将在屏幕上出现,并且向前移动,直到它接触到香蕉。接触到香蕉后,猴子会执行相应的动作,例如播放音效或跳舞,以增加用户的互动体验。 通过使用scratch猴子香蕉代码,孩子们可以通过简单的拖拉动作块的方式,实现一个有趣的互动场景,提高他们的创造力和逻辑思维能力。这也是scratch这一编程语言的主要目的之一,鼓励儿童学习和参与创作编程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值