猴子吃桃问题是数学中的一道经典问题,学习过相关数学知识的人固然已经知道该如何解答了,但还没有学到这部分知识的孩子该怎么办呢?其实接触了编程的孩子就可以用编程知识来解决这个问题了,比如Python,下面跟随南京小码王Python培训班老师来动手试试看,用Python解决猴子吃桃问题。

猴子第1天摘下了若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第2天早上又把剩下的桃子吃掉了一半,又多吃了一个,然后每天早上都吃了前一天剩下的一半零一个,到第10天早上想吃时,发现只剩下一个桃子了,求第一天共摘了多少个桃子?

假设第一天桃子的数量为x,那么当天吃掉的桃子为 x/2+1;

可以得出第二天的桃子的初始数量为 x-(x/2+1) = x/2-1.

按这个规律排列下去,根据题目可知,第十天的桃子数量为1.

同时,我们可以知道第一天的桃子的数量,和第二天的桃子数量之间的关系为:(第二天桃子的数量+1)*2

如果我们把每天的初始桃子数量看作一个数列,并从最后一天倒序排列的话,由于我们知道这个数列的第一个数字,那这个问题就可以用递归函数来解决了。

我们把这个函数命名为f(n),n取值从1到10,代表倒数第一天到倒数第十天.

首先,倒序的第1天是一个桃子,也即f(1)=1。

从前面分析我们已经知道,连续两天之间的桃子的数量之间的关系,用等价的表达式可以表示为:也即f(n)=(f(n-1)+1)*2,有了这个规律,我们就可以写出下面的程序代码:

def f(n):

if n == 1:

return 1

else:

return (f(n-1)+1)*2

print(f(10))

用python执行,打印的结果是1534。

然后把每天的初始的打印桃子数量打印出来:

for _ in range(10,0,-1):

print(_,”—>”,f(_))

10 —> 1534

9 —> 766

8 —> 382

7 —> 190

6 —> 94

5 —> 46

4 —> 22

3 —> 10

2 —> 4

1 —> 1

按步骤运行,这样结果也就出来啦!

直接用Python编程,短短几行代码,结果就输出来了,复杂的数学问题是不是也简单多了呢?你也不妨自己动手试试看吧。南京小码王专业从事青少儿编程教育,开设了专门的Python培训班,有丰富的Python教程和专业老师,通过理论结合实践的方式教学,让孩子能更好的掌握Python知识。目前小码王还有0元体验课正在进行中,欢迎大家前来试听体验,感受Python编程的乐趣。

python猴子吃桃问题_用Python解决猴子吃桃问题相关推荐

  1. python猴子分桃问题_用python实现【五猴分桃】问题

    转载链接:https://blog.csdn.net/cy309173854/article/details/78296839 据说"五猴分桃"问题最先是由大物理学家狄拉克提出来的 ...

  2. python程序设计题怎么写_《Python语言程序设计基础》第1章程序练习题

    本文为中国大学MOOC<Python语言程序设计>课程学习笔记,课程主讲:嵩天老师,练习平台:Python123,参考教材:<Python语言程序设计基础> 1.1 字符串拼接 ...

  3. python的代码有哪些_简单python代码类型有哪些?

    简单python代码类型有哪些? 简单python代码类型有: 1.[背景] 最近,派大星想要减肥,他决定控制自己的饮食,少吃一点蟹黄堡. 海绵宝宝为了帮助好朋友派大星,和派大星一起制定了一个饮食游戏 ...

  4. python内存管理和释放_《python解释器源码剖析》第17章--python的内存管理与垃圾回收...

    17.0 序 内存管理,对于python这样的动态语言是至关重要的一部分,它在很大程度上决定了python的执行效率,因为在python的运行中会创建和销毁大量的对象,这些都设计内存的管理.同理pyt ...

  5. python文本结构化处理_在Python中标记非结构化文本数据

    python文本结构化处理 Labelled data has been a crucial demand for supervised machine learning leading to a n ...

  6. python交互式和文件式_使用Python创建和自动化交互式仪表盘

    python交互式和文件式 In this tutorial, I will be creating an automated, interactive dashboard of Texas COVI ...

  7. python做审计底稿视频_最新Python教学视频,每天自学俩小时,让你offer拿到手软...

    2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 如 ...

  8. 学python电脑要装什么_初学 Python 需要安装哪些软件?

    KDnuggets2018年的一个博客发起了一项投票:数据科学中最好用的Python IDE是什么? 本次调查共有1900多人参与,调查结果如下图所示.前5个选择是: Jupyter,57% PyCh ...

  9. python十大必备知识_学Python必备的基础知识

    学Python必备的基础知识 1.基本概念 表达式:就是一个类似于数学公式的东西,一般仅仅用了计算一些结果 ,不会对程序产生实质性的影响,如9+3; 语句:在程序中语句一般需要完成某种功能,比如打印信 ...

最新文章

  1. java 注册回调_java 实现回调代码实例
  2. 视图、存储函数、存储过程、触发器:MySQL系列之五
  3. 计算机二级的编程题,计算机二级编程题(范文).doc
  4. PCA-SIFT原理及源码解析
  5. 计算机五大逻辑部件数据流,211计算机基础知识综合篇.ppt
  6. Waud.js – 使用HTML5降级处理的Web音频库
  7. 远离疲倦,告别非理性思维
  8. 横向合计代码 锐浪报表_报表开发常见问题解答 - 锐浪报表工具
  9. 【Linux从青铜到王者】第二十四篇:Linux网络基础第四篇之WebSocket协议
  10. ps保存psd后图层全没了_Photoshop文件不显示图层
  11. 贷款广告投放行为观察:价格高企主要客户是小贷公司,朋友圈转化效果最好
  12. 如何部署在线团队协作系统kooteam(在线团队协作工具)
  13. 小米联系人删除怎么恢复
  14. java错误光标的闪烁怎么设置_【CSS3】自定义设置可编辑元素闪烁光标的颜色
  15. 示波器基础知识100问汇总
  16. 3个月周末,软考高级复习攻略,信息系统项目管理师考后总结
  17. Android 应用apk打包原理
  18. 本地推送jar包到远程maven仓库
  19. java echarts 生成图片_java如何在后台生成echarts图表?实际代码展示
  20. 一支笔的测试点_如何测试一支笔

热门文章

  1. 【2019保研经验】清华贵系、清华软院、北大叉院、中科院自动化所等
  2. 【游戏行业观察】篇1:成龙与《传奇》:传统网游营销模式的变迁
  3. (附源码)计算机毕业设计SSM基于的楼盘销售系统的设计与实现
  4. 第七章 本源时空(补充)
  5. 【jquery】jquery $.fn $.fx是什么意思
  6. 微信公众号历史数据采集和推文监控
  7. 你这简历一看就是包装过的
  8. 周易六十四卦详解 (通俗易懂版)
  9. NDK开发QQ语音变声
  10. c++11:std::declval、decltype