猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又多吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,问第一天共摘下来多少个桃子?并反向打印每天所剩桃子数。

解题思路:

反向推算

第十天桃子数:1

第九天桃子数:(1+1)x2=4

第八天桃子数:(4+1)x2=10

第七天桃子数:(10+1)x2=22

第一天桃子数:(第二天桃子总数+1)x2

有了规律就简单多了,整理一下题中变量:分别是天数(n)、所剩桃子数(num),根据规律,编写代码如下:

执行结果:

第9天所剩桃子4个

第8天所剩桃子10个

第7天所剩桃子22个

第6天所剩桃子46个

第5天所剩桃子94个

第4天所剩桃子190个

第3天所剩桃子382个

第2天所剩桃子766个

第1天所剩桃子1534个

猴子第一天摘了:1534个桃子。

代码:

#include

int getPeachNumber(n)

{

int num;

if(n==10)

{

num=1;

return 1;

}

else

{

num=(getPeachNumber(n+1)+1)*2;

printf("第%d天所剩桃子%d个\n",n,num);

}

return num;

}

int main()

{

int num=getPeachNumber(1);

printf("猴子第一天摘了:%d个桃子。\n", num);

return 0;

}

递归函数特点:

1、每一级函数调用时都有自己的变量,但是函数代码并不会得到复制,如计算5的阶乘时每递推一次变量都不同;

2、每次调用都会有一次返回,如计算5的阶乘时每递推一次都返回进行下一次;

3、递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序;

4、递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反;

5、递归函数中必须有终止语句。

一句话总结递归:自我调用且有完成状态。

c语言猴子摘桃思路,递归函数--猴子摘桃问题的解题思路相关推荐

  1. 编写c语言程序 斐波那契,C语言程序实现斐波那契数列的解题思路???

    满意答案 lianhaoran 2013.11.24 采纳率:40%    等级:12 已帮助:12258人 斐波纳契数第三项起:每一项都是前两项之和! 这里可以用递归或者循环的方法! 楼上的给了递归 ...

  2. 2021中国高校大数据挑战赛A题复盘+解题思路

    引言 由于个人安排的原因,没有时间参加微信大数据挑战赛,倒是参加了2021年中国高校大数据挑战赛.这次比赛做的是中国电信提供数据集的A题,是一个异常检测的题目,一个人做的本科组二等奖,觉得还是不错的. ...

  3. 排队问题解题思路_青岛版二年级数学下册8.2除加除减解决问题微课视频辅导+练习...

    (视频最大化,横屏观看,视觉效果更佳哦!) 课后作业 先 思 考 再 看 答 案 1.34-15÷3=29(元) 答:一件上衣比一双袜子贵29元. 2.48÷6+48=56(只) 答:小香的奶奶一共养 ...

  4. LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之一:解题思路

    笔者在完成LeetCode第三题(Longest Substring Without Repeating Characters)时,经历了设计.实现.优化三个阶段,于是通过这个三部曲系列,将当初的整个 ...

  5. 递归函数--猴子摘桃问题的解题思路

    猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又多吃了一个.第二天又将剩下的桃子吃掉一半,又多吃了一个.以后每天都吃前一天剩下的一半零一个.到第10天在想吃的时候就剩一个桃子了,问第一天共摘下来 ...

  6. c语言猴子选大王注释,猴子选大王问题(C语言实现)

    题目大概是这样的: n只猴子(n不超过50)围成一个圈.从某一只开始依次给猴子们编号,从1到n.然后从第一只猴子开始,从1开始依次报数,报到m的猴子离开圈子.从这只离开的猴子的下一只开始再从1开始报数 ...

  7. 熟悉scala命令,scala语言运行超级素数和猴子大王

    实验目的 在Linux操作系统中安装Scala 输入"scala"命令,熟悉地运行Scala解释器 scala语言运行超级素数和猴子大王 实验仪器 Virtualbox管理器 实验 ...

  8. 编程笔试(解析及代码实现):猴子吃桃。猴子第一天吃了若干个桃子,当即吃了一半,还不解馋,又多吃了一个…的C++、Java、Python、C#等语言代码实现

    编程笔试(解析及代码实现):猴子吃桃.猴子第一天吃了若干个桃子,当即吃了一半,还不解馋,又多吃了一个. 第二天早上又将剩下的桃子吃了一半,还是不过瘾,又多吃了一个.以后每天都吃前一天剩下的一半再加一个 ...

  9. 【C语言】利用递归解决猴子吃桃问题

    [C语言]利用递归解决猴子吃桃问题 参考文章: (1)[C语言]利用递归解决猴子吃桃问题 (2)https://www.cnblogs.com/ieybl/p/6597937.html 备忘一下.

最新文章

  1. sina微博api源码阅读之函数
  2. 程序员:如何成为一个全栈的工程师?
  3. Linux下编译cscope,linux环境下cscope使用
  4. 那些年Android黑科技③:干大事不择手段
  5. 得到ios设备的屏幕尺寸信息
  6. Matlab功率谱估计
  7. [No0000187]可能是把Java内存区域讲的最清楚的一篇文章
  8. 在python中模块可以封装_python 制作python包,封装成可用模块教程
  9. 趣挨踢 | “菜鸟”程序员和“大神”程序员的差别竟然这么大...
  10. 基于Java封装Groovy工具类
  11. python最好用的IDE及查看源码的方法
  12. 【面试宝典】Mysql面试题大全
  13. 180余件河北武强年画珍品亮相新疆昌吉回族自治州博物馆
  14. 概率统计-方差与正态分布(高斯分布)
  15. 设备中LPC2368芯片个例参数问题导致故障的分析
  16. AST(抽象语法树)实战入门:js逆向中滑块加密if语句转化
  17. 人工神经网络设计选择题,人工神经网络设计原则
  18. 田园综合体PPP项目规划方案(ppt)
  19. python-python爬取豆果网(菜谱信息)
  20. 制造业质量工程师转行软件测试

热门文章

  1. 学习-Java类和对象之static关键字之求圆环面积和周长
  2. Sharpness-Aware Minimization for Efficiently Improving Generalization
  3. Import Error: from torchtext.data import to_map_style_dataset解决方案
  4. docker安装、docker容器基本用法
  5. 计算机音乐我已经爱上你,让你爱上我要多久我已经爱上你什么歌
  6. WinExec 函数
  7. 微软iis服务器并发量,服务器IIS最大并发数
  8. 玩电脑,还是被电脑玩
  9. 《京韵大鼓——贺新春(1995年文化部春晚)》(骆玉笙)(唱词文本)
  10. Spring中Scope源码分析