【问题描述】

猴子第一天摘下若干个桃子,当即吃了一半,不过瘾,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第十天,只剩下一个桃子。求第一天猴子摘的桃子个数。顺便推荐下我自己的C/C++学习群:598131849,不管你是小白还是大牛,小编我都挺欢迎,不定期分享干货,包括我自己整理的资料和零基础入门教程,送给大家,欢迎初学和进阶中的小伙伴。

【基本思路】

采取逆向思维的方法,从后往前推断,可得到递推公式。

令:X10=1,根据题意容易得出

X9=2*(X10+1)

X8=2*(X9+1)

Xn=2*(Xn+1+1)

【采用循环实现】

#include

int main(void)

{

int day,x1,x2=1; //第10天1个桃子

for(day=10;day>=1;day--)

{

printf("第%d天的桃子数为:%d

",day,x2);

x1=2*(x2+1);

x2=x1;

}

}

【采用递归实现】

根据题意,可得到递归式及递归结束条件。

X(n)=2*(X(n+1)+1) (x<10)

X(10)=1 (x=1)

#include

int func(int n) //返回第n天时的桃子数

{

if(n==10)

return 1;

else

return 2*(func(n+1)+1);

}

int main(void)

{

int i;

for(i=1;i<=10;i++)

printf("第%d天的桃子数:%d

", i, func(i));

return 0;

}

Java递归法解决猴子吃桃问题_C语言实现猴子吃桃问题(循环、递归两种方法)...相关推荐

  1. 解决Vue3的ts报错:类型“{}”上不存在属性“xxx”,两种方法彻底根治

    刚创建的一个Vue3和Ts的项目,结果使用Vscode打开后,修改了index.vue文件就报错了: 网上找了各种原因,有让添加jsconfig.json文件的,有让新建一个项目的,有的直接放弃ts的 ...

  2. java解压缩文件名乱码_解决JDKZipEntry压缩文件名乱码的两种方法

    当我们在创建java的项目过程中,有时候会遇到一些棘手的问题,就比如说:在JDk zipEntry压缩中文文件名出现乱码的问题.那么对于这个问题,我们应该怎样来解决呢?今天我们就一起来学习一下它的解决 ...

  3. 最大团问题(使用递归和非递归两种方法)

    文章目录 问题描述 解决方法 递归回溯(递归) 迭代回溯(非递归) 测试样例及测试结果 问题描述 ​ 一个无向图 G = ( V , E ) G=(V,E) G=(V,E) , V V V 是点集, ...

  4. java数组循环扩容_Java中实现数组动态扩容的两种方法

    Java中实现数组动态扩容的两种方法 java中初始化一个数组需要定义数组的容量,而在我们使用数组时往往会遇到数组容量不够的情况,此时我们就需要通过动态扩容的方式来来根据需求扩大数组的容量. 我们可以 ...

  5. JAVA中初始化线程的两种方法_java中最简单的方式新起一个线程

    启动一个线程 在一个方法中启动一个线程,有两种方法 第一种是让类实现Runable接口,这样的话编译器就会提示你实现里面的未实现的方法(就是run方法) 第二种是,现在方法中new一个线程,然后直接调 ...

  6. Java 跨平台获取 MAC 地址的两种方法

    前言 有时我们因为软件授权或者其它需要获取主机唯一标识而需要获取用户主机的MAC地址,而本文则将介绍如何通过Java来实现跨平台获取MAC地址的两种方法,同时具体的代码也已上传到GitHub. 如果不 ...

  7. java对文件进行压缩的两种方法

    在工作中,我们或多或少都会接触到文件的压缩和解压,在window系统中,我们只需下载一个能对文件进行解压缩的应用即可,但如果让我们自己动手写对文件压缩的代码,顿时就头大了. 在java中,我们都知道输 ...

  8. c语言中fact函数怎么调用,C语言程序题: 1、编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现...

    点击查看C语言程序题: 1.编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现具体信息 答:int fac(int n) //非递归{int f=1; for(;n;) ...

  9. flex前端+java后台实现Flex导出Excel的两种方法,

    Flex前端+Java后台,要将Flex界面中AdvancedDataGrid的数据导出成Excel文件.有2种方法: 1.直接在前台导出.      使用开源项目as3xls,下载个解决了中文乱码的 ...

  10. java word转pdf,docx4j转pdf,docx4j导出pdf乱码,docx4j导出pdf丢失插画和图片,aspose将word转pdf 一共两种方法

    前言:一共有docx4j转pdf,aspose转pdf两种方式,不需要设置模板!!! java转pdf目前本人使用有两种方法,下面是方法代码 ps:因为本人是云桌面开发,所以只作截图,具体代码需要自己 ...

最新文章

  1. phpstudy多站点配置好后index of/ 列表无法出现的解决
  2. 中医治疗慢性病很有效
  3. OVS 添加端口流程(二十九)
  4. MyBatis JdbcType介绍
  5. 程序员只能吃青春饭?老程序员爆料花样出路
  6. 开源3d模型格式转换_将您的开源业务转换为基于收入的模型时应考虑的因素
  7. (190)FPGA变量初始化方法initial
  8. LeetCode(892)——三维形体的表面积(JavaScript)
  9. 在DOS下如何加载SATA光驱驱动
  10. Creating and Destroying Objects
  11. 我的高拍仪自动阅卷系统
  12. minecraftjava版光追_我的世界:网易版终于更新狐狸生物?Java版光追技术已开始测试?...
  13. Win10升级后出现的OEM分区处理
  14. matlab二次函数拟合,【长见识】matlab的二次函数拟合
  15. 【油猴脚本编写初体验】一键复制网页标题和地址(copy-title-and-location)
  16. 如何判断长上影线是洗盘还是主力出货?
  17. HBuilder表单提交php出现内部服务器错误
  18. 识别图中文字python_python识别图片中文字的方法
  19. 【附源码】Java计算机毕业设计计算机配件价格查询微信小程序(程序+LW+部署)
  20. 5000字长文:电商运营如何做好数据分析?

热门文章

  1. django jwt token 令牌
  2. CK-GW06-E01与恩基士PLC配置指南
  3. 不要在意别人的目光,走自己的路
  4. 【预测模型-RF预测】基于随机森林算法实现数据回归预测附matlab代码
  5. 非平衡电桥电阻计算_非平衡电桥的原理和应用 - 范文中心
  6. python求和函数详解_python求和函数sum()详解
  7. 短文本相似度计算-simHash从原理到实现
  8. 在线制作ico图标 ico图标转换工具和图标网站
  9. 阿里云服务器如何使用?阿里云服务器入门使用教程
  10. 半挂式洒水车的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告