【C语言项目实战2——递归思想以及应用】

猴子吃桃问题

项目功能需求

有一只猴子第一天摘下了若干个桃子,当即吃掉了一半,觉得不过瘾又多吃了一个,第二天又将剩下的桃子吃掉了一半,还不过瘾有多吃了一个,按照这个说法,每天都吃掉前一天剩下的一半又多了一个,到了第十天,就剩下一个桃子,问,这只猴子第一天摘下了多少个桃子,用递归思想编程实现

知识点分析

(1)通过本实验可达到目标,熟悉递归思想以及求解简单的递归问题的算法步骤。
(2)掌握递归函数的定义,递归函数的调用,递归函数声明等基本概念。
(3)掌握函数的嵌套调用和递归调用。

算法思想

这个题目体现了算法思想中的递推思想,递归有两种形式,顺推和逆推,针对递推,只要

    我们找到递推公式,问题就迎刃而解了。

           令S10=1,容易看出 S9=2(S10+1), 简化一下 

             S9=2S10+2

             S8=2S9+2

                 .....

             Sn=2Sn+1+2

系统流程图

系统流程图

图1猴子吃桃的流程图

项目实现

猴子吃桃的项目实现

运行效果图:
猴子吃桃的运行效果图

项目扩展

改变游戏的玩法,有一只猴子第一天摘下了若干个桃子,当即吃掉了一些桃子,剩下根号x个桃子,觉得不过瘾又多吃了一个,第二天又将剩下的桃子吃掉了一些,剩下根

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值