猴子搬香蕉Java实现_趣味算法:猴子搬香蕉问题
在博客园一篇文章末尾看到一个有趣的数学问题,据说是小学4年级的题目,摘引如下:
一只小猴摘了300个香蕉,需要搬回家,每次最多搬100个。小猴离家100米,它每走1米,都需要吃掉1个香蕉来补充能量,请问它最多能够搬回家多少个?
思考了好一会,写了个小程序模拟这一过程:
$bananas = 300;
for($i = 1; $i <= 100; $i++)
{
// 前200~300个的时候,每一米消耗5个,可以走20米
if($bananas > 200)
$bananas -= 5;
// 100~200个的时候每一米消耗3个,可以走33米,也(100+99)走了53米
else if($bananas > 101)
$bananas -= 3;
// 最后还有101个,接下来就可以带100个走不到47米(1个可以抵消0.33米以下),所以100-47+1=54个
else
$bananas--;
echo '剩余香蕉数:'.$bananas.',剩余路程:'.(100 - $i).'
';
}
echo $bananas;
程序运行结果:
剩余香蕉数:295,剩余路程:99
剩余香蕉数:290,剩余路程:98
剩余香蕉数:285,剩余路程:97
剩余香蕉数:280,剩余路程:96
剩余香蕉数:275,剩余路程:95
剩余香蕉数:270,剩余路程:94
剩余香蕉数:265,剩余路程:93
剩余香蕉数:260,剩余路程:92
剩余香蕉数:255,剩余路程:91
剩余香蕉数:250,剩余路程:90
剩余香蕉数:245,剩余路程:89
剩余香蕉数:240,剩余路程:88
剩余香蕉数:235,剩余路程:87
剩余香蕉数:230,剩余路程:86
剩余香蕉数:225,剩余路程:85
剩余香蕉数:220,剩余路程:84
剩余香蕉数:215,剩余路程:83
剩余香蕉数:210,剩余路程:82
剩余香蕉数:205,剩余路程:81
剩余香蕉数:200,剩余路程:80
剩余香蕉数:197,剩余路程:79
剩余香蕉数:194,剩余路程:78
剩余香蕉数:191,剩余路程:77
剩余香蕉数:188,剩余路程:76
剩余香蕉数:185,剩余路程:75
剩余香蕉数:182,剩余路程:74
剩余香蕉数:179,剩余路程:73
剩余香蕉数:176,剩余路程:72
剩余香蕉数:173,剩余路程:71
剩余香蕉数:170,剩余路程:70
剩余香蕉数:167,剩余路程:69
剩余香蕉数:164,剩余路程:68
剩余香蕉数:161,剩余路程:67
剩余香蕉数:158,剩余路程:66
剩余香蕉数:155,剩余路程:65
剩余香蕉数:152,剩余路程:64
剩余香蕉数:149,剩余路程:63
剩余香蕉数:146,剩余路程:62
剩余香蕉数:143,剩余路程:61
剩余香蕉数:140,剩余路程:60
剩余香蕉数:137,剩余路程:59
剩余香蕉数:134,剩余路程:58
剩余香蕉数:131,剩余路程:57
剩余香蕉数:128,剩余路程:56
剩余香蕉数:125,剩余路程:55
剩余香蕉数:122,剩余路程:54
剩余香蕉数:119,剩余路程:53
剩余香蕉数:116,剩余路程:52
剩余香蕉数:113,剩余路程:51
剩余香蕉数:110,剩余路程:50
剩余香蕉数:107,剩余路程:49
剩余香蕉数:104,剩余路程:48
剩余香蕉数:101,剩余路程:47
剩余香蕉数:100,剩余路程:46
剩余香蕉数:99,剩余路程:45
剩余香蕉数:98,剩余路程:44
剩余香蕉数:97,剩余路程:43
剩余香蕉数:96,剩余路程:42
剩余香蕉数:95,剩余路程:41
剩余香蕉数:94,剩余路程:40
剩余香蕉数:93,剩余路程:39
剩余香蕉数:92,剩余路程:38
剩余香蕉数:91,剩余路程:37
剩余香蕉数:90,剩余路程:36
剩余香蕉数:89,剩余路程:35
剩余香蕉数:88,剩余路程:34
剩余香蕉数:87,剩余路程:33
剩余香蕉数:86,剩余路程:32
剩余香蕉数:85,剩余路程:31
剩余香蕉数:84,剩余路程:30
剩余香蕉数:83,剩余路程:29
剩余香蕉数:82,剩余路程:28
剩余香蕉数:81,剩余路程:27
剩余香蕉数:80,剩余路程:26
剩余香蕉数:79,剩余路程:25
剩余香蕉数:78,剩余路程:24
剩余香蕉数:77,剩余路程:23
剩余香蕉数:76,剩余路程:22
剩余香蕉数:75,剩余路程:21
剩余香蕉数:74,剩余路程:20
剩余香蕉数:73,剩余路程:19
剩余香蕉数:72,剩余路程:18
剩余香蕉数:71,剩余路程:17
剩余香蕉数:70,剩余路程:16
剩余香蕉数:69,剩余路程:15
剩余香蕉数:68,剩余路程:14
剩余香蕉数:67,剩余路程:13
剩余香蕉数:66,剩余路程:12
剩余香蕉数:65,剩余路程:11
剩余香蕉数:64,剩余路程:10
剩余香蕉数:63,剩余路程:9
剩余香蕉数:62,剩余路程:8
剩余香蕉数:61,剩余路程:7
剩余香蕉数:60,剩余路程:6
剩余香蕉数:59,剩余路程:5
剩余香蕉数:58,剩余路程:4
剩余香蕉数:57,剩余路程:3
剩余香蕉数:56,剩余路程:2
剩余香蕉数:55,剩余路程:1
剩余香蕉数:54,剩余路程:0
标签:
算法
猴子搬香蕉Java实现_趣味算法:猴子搬香蕉问题相关推荐
- java 独木桥_趣味算法——青蛙过河(JAVA)
青蛙过河是一个非常有趣的智力游戏,其大意如下: 一条河之间有若干个石块间隔,有两队青蛙在过河,每队有3只青蛙,这些青蛙只能向前移动,不能向后移动,且一次只能有一只青蛙向前移动.在移动过程中,青蛙可以向 ...
- 匈牙利算法java实现_匈牙利算法(Hungarian Algorithm)
匈牙利算法是一种在多项式时间内求解任务分配问题的组合优化算法.换句话说就是,在可以接受的时间内去做匹配. 1. 描述问题 给定2个集合A和B,然后将AB中的元素完成一个连线.(这不就是小时候的连线题么 ...
- java青蛙过河打字_趣味算法——青蛙过河(JAVA)
青蛙过河是一个非常有趣的智力游戏,其大意如下: 一条河之间有若干个石块间隔,有两队青蛙在过河,每队有3只青蛙,这些青蛙只能向前移动,不能向后移动,且一次只能有一只青蛙向前移动.在移动过程中,青蛙可以向 ...
- 排序算法java源代码_排序算法汇总(java实现,附源代码)
整理系统的时候发现了原来写的各种算法的总结,看了一下,大吃一惊,那时候的我还如此用心,具体的算法,有的已经模糊甚至忘记了,看的时候就把内容整理出来,顺便在熟悉一下,以后需要的时候就可以直接过来摘抄了. ...
- bitmap的java原理_布隆算法的原理及JAVA实现
Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法.通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合. Bloom Filter ...
- 聚类算法的java实现_聚类算法之BIRCH(Java实现)
BIRCH(Balanced Iterative Reducing and Clustering using Hierarchies)天生就是为处理超大规模(至少要让你的内存容不下)的数据集而设计的, ...
- 排序算法java快速排序_快速排序算法--Java实现
标签(空格分隔): 数据结构与算法 原理: 对于任意一个无序数组,我们随机的选一个元素作为基准元素(例如:数组中的最后一个或者第一个元素, 然后我们将数组中的剩余元素分别与基准元素进行比较,将小于或等 ...
- java 墨卡托投影_墨卡托投影算法应用---获取辖区某区域的精准电子围栏
背景:某项目做区域监控,需要内置某些区域的电子围栏. 方案:利用某度接口中墨卡托投影值,进行经纬度转换,入库保存后,让前端获取. 前置数据:区域文案名清单 接口1: 查询某区域的uid http:/ ...
- python约瑟夫环问题给十个学生编号报到3者出列_趣味算法--约瑟夫环问题(示例代码)...
问题描述 已知n个人(以编号1,2,3,...,n分别表示)围坐在一张圆桌上.指定编号为k的人开始从1报数,数到m的那个人出列:出列那个人的下一位又从1开始报数,数到m的那个人出列:以此规则重复下去, ...
最新文章
- 广度优先搜索(BFS)模板
- session_start() [function.session-start]
- Windows——蓝屏[失败的操作:WdFilter.sys]解决方案
- 解决WebBrowser控件会导致应用程序占用内存居高不下问题
- React Native学习总结第二天
- GridView commandname
- php与mysql毕业设计_基于PHP的毕业设计管理系统设计与实现毕业论文+项目源码及数据库文件...
- Android项目中嵌入Cocos游戏项目
- eclipse 连接mysql 数据库 实现数据库基本操作
- MB/s MiB/s之间换算
- 51单片机串口中断控制灯
- linux pci转can驱动程序,PCI转LPT并口卡驱动程序
- gnu stubs arch linux,编译Nachos源代码时出错“gnu/stubs-32.h:没有这样的文件或目录”...
- 美团点评合并,百度成O2O最大变量
- Java入土---面向对象(OOP)
- 算法学习-零子数组,最大连续子数组
- 把一个把正整数分解为素数乘积
- 通过配置环境变量解锁win+r新玩法
- 康耐视In-Sight操作流程
- 封闭基金周折价排行表(20060901)[ZT]