猴子搬香蕉
来源:互联网 发布:随机梯度下降算法参数 编辑:程序博客网 时间:2024/06/02 10:16
一个小猴子边上有100根香蕉,它要走过50米才能到家, 每次它最多搬50根香蕉,(多了就被压死了),它每走1米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。
提示:他可以把香蕉放下往返的走,但是必须保证它每走一米都能有香蕉吃。也可以走到n米时,放下一些香蕉,拿着n根香蕉走回去重新搬50根。
我的推理过程: 以每次小猴子搬最多香蕉为前提, 则100根香蕉需要2趟, 在距离为1米的情况下, 小猴子第1趟搬50根到1米处,消耗1根,带回1根走到原点, 刚好又消耗1根,再将第2趟50根搬到1米处, 这时剩下97根..以此类推, 设当前的总数需要 x 趟才能搬到 1 米, 则消耗的数量为 2x - 1, x 在此题中为 100 / 50 = 2..根据以上关系, 推出下列程序(vbs), 推导结果和网上搜索到的答案是一致的(16根).
Option Explicit
'代码: 萧月痕(xiaoyuehen)
'msn: xiaoyuehen(at)msn.com
'日期: 2006-2-22
Dim intTotal
Dim intEvery
Dim intIndex
Dim intMod
Dim strMessage
intTotal = 110
intEvery = 50
Dim bFlag
bFlag = True
For intIndex = 1 to 50
If intTotal Mod intEvery = 0 Then
intMod = intTotal / intEvery
Else
intMod = intTotal / intEvery + 1
End If
intTotal = intTotal - (2 * intMod - 1)
If (intMod = 1) And (bFlag = True) Then
strMessage = strMessage & "* 走了 " & intIndex & " 米, 还剩香蕉 " & intTotal & " 根" & vbCrLf &
vbCrLf
bFlag = False
End If
Next
strMessage = strMessage & "* 最后还剩香蕉 " & intTotal & " 根"
MsgBox strMessage
- 猴子搬香蕉
- 猴子搬香蕉问题
- 猴子搬香蕉问题。
- 猴子搬香蕉问题
- 猴子搬香蕉问题
- 猴子搬香蕉问题
- 猴子搬香蕉问题的思考
- 猴子和香蕉
- 猴子背香蕉问题
- 猴子和香蕉问题
- 猴子吃香蕉 智力题
- 猴子运香蕉
- 猴子背香蕉
- 猴子吃香蕉
- 猴子与香蕉
- newcoder猴子吃香蕉
- 有只小猴子,路边有80根香蕉,小猴子走40步能到家,每走一步要吃1根香蕉,否则就停止不前,小猴子每次能搬40根 香蕉,请编程求出小猴子最多能搬多少根香蕉回到家。
- HDOJ1069 猴子和香蕉【DP】
- 西行漫记(5):关于故事的故事
- 开始比较深入的接触 javascript 。(draft version)
- 等待
- volatile(读书笔记)
- 关于如何在java的web应用获取服务器资源。
- 猴子搬香蕉
- IO操作的时候,不要忽视flush
- C++中的异常知识点小结
- 赋值兼容性原则
- 打印螺旋矩阵(递归解法)
- JTAG调试不稳定
- junit实践
- 变长参数应用举例
- 工作流术语和定义