在博客园一篇文章末尾看到一个有趣的数学问题,据说是小学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猴子搬香蕉,趣味算法:猴子搬香蕉问题相关推荐

  1. java猴子分桃_算法——猴子分桃

    想做些有关"算法"的练习题,在网上无意间看到了一道很经典的算法题--猴子分桃,于是百度了一下,才发现这道题的相关文档很多很多,但最多的也就是使用C++或者Java来解决这道题,而自 ...

  2. 猴子搬香蕉Java实现_趣味算法:猴子搬香蕉问题

    在博客园一篇文章末尾看到一个有趣的数学问题,据说是小学4年级的题目,摘引如下: 一只小猴摘了300个香蕉,需要搬回家,每次最多搬100个.小猴离家100米,它每走1米,都需要吃掉1个香蕉来补充能量,请 ...

  3. 猴子搬香蕉(算法入门题目005)

    题目 A 地有一堆香蕉,共 w 只. 一只猴子要把香蕉从 A 地运输到 B 地. 两地相距 s 里. 猴子每次最多只能背 c 只香蕉. 无论背多少香蕉(甚至不背),猴子每走 1 里路,会吃掉 1 只香 ...

  4. 猴子吃桃问题 php,趣味算法:猴子吃桃问题

    简明现代魔法 -> C/C++ -> 趣味算法:猴子吃桃问题 趣味算法:猴子吃桃问题 2010-05-26 猴子第一天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将剩下 ...

  5. 排序算法猴子排序java算法代码实现

    <h1>猴子排序</h1> 原理:现有一组未排序数据和相同数量的方格,然后依次随机地取出数据随机地放入方格中,直到把方格放满即止. 之所以又被称为猴子排序,我的猜测是因为.将这 ...

  6. 猴子偷桃c语言编程软件,c语言经典算法——猴子偷桃问题

    题目:海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿 ...

  7. C++Bogo Sort猴子排序的实现算法(附完整源码)

    C++Bogo Sort猴子排序的实现算法 C++Bogo Sort猴子排序的实现算法完整源码(定义,实现,main函数测试) C++Bogo Sort猴子排序的实现算法完整源码(定义,实现,main ...

  8. php猴子找大王算法,教程方法;php实现猴子选大王问题算法实例电脑技巧-琪琪词资源网...

    琪琪词资源网-教程方法;php实现猴子选大王问题算法实例电脑技巧,以下是给大家带来的教程方法;php实现猴子选大王问题算法实例,大家可以了解一下哦! 下面为你介绍php实现猴子选大王问题算法实例. 本 ...

  9. c语言分桃分题设计思路,C语言实现的猴子分桃问题算法解决方案

    本文实例讲述了C语言实现的猴子分桃问题算法.分享给大家供大家参考,具体如下: 问题: 海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份 ...

  10. java写猴子偷桃问题_猴子偷桃是什么意思

    满意答案 xucw111 2013.04.02 采纳率:42%    等级:11 已帮助:8003人 从字面意思理解就是猴子偷桃子涩!从引申意来讲这个问题就有点严肃了. 从前,有一个美丽的小村庄,名字 ...

最新文章

  1. Linux常用目录说明
  2. VS2010+matlab2012b环境下C++写MAT文件
  3. winform绑定多张图片
  4. 2019哈佛计算机专业录取,2019哈佛大学早申请录取数据公布 录取率再降1个点仅为13.4%...
  5. CSS 制作垂直导航
  6. js 的push方法
  7. 【数据结构】图文详解Treap平衡树
  8. Maven最佳实践:管理依赖
  9. php自动发卡程序8.0_php自动发卡平台源码
  10. SSM实现会议室预约管理系统
  11. 如何在vue项目中使用styl
  12. 安装idea社区版并开发JavaWeb项目
  13. IOS唤起键盘,移动端页面放大
  14. AcWing 95. 费解的开关 (yxc代码保姆级题解+注释)
  15. 用Python绘制折线图(上)
  16. ElasticSearch:Reindex数据迁移使用
  17. 【Arduino】重生之Arduino 学僧(1)----Arduino简介
  18. linux管理控制面板--可视化管理linux
  19. codeforces 1238
  20. mysql8.0 报错2059_mysql8.0连接报2059错误

热门文章

  1. 基于SVPWM的无刷直流电机矢量控制系统研究
  2. indexOf用法小结
  3. 论文阅读:《Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neu》
  4. Windows下把文件夹压缩成.tar.gz格式
  5. 判断单链表是否中心对称算法
  6. 如何计算十五个字节(多字节)的CRC16校验
  7. c java python sql是什么意思_讲解:COIT12206、program、Java、Python、c/c++Python|SQL
  8. 服务器共享文件夹Windows无法访问,windows server 2008 R2 无法访问本机共享文件夹
  9. 最小角回归算法(LARS)
  10. opencv31:哈里斯角检测|Harris Corner