递归公式算法解决猴子吃桃问题

本文介绍了递归算法的概念,包括直接递归和间接递归,并详细分析了猴子吃桃问题的递归解决方案。通过设定递归的终结点和公式,得出从第五天剩一个桃子逆推到第一天桃子数量的计算方法。提供的Java代码实现可以帮助理解递归的应用。
摘要由CSDN通过智能技术生成

1.方法又在方法中调用了自己
2.分类:
直接递归:自己的方法调用自己
间接递归:自己的方法调用别的方法,别的方法调用自己
3.递归的三要素:
递归的终结点(指的是完成递归算法结束的条件)
递归的公式(利用自己的数学知识写出递归的公式)
递归的方向:必须走向终结点
4.案例:猴子有若干个桃子,每天吃桃子总数的一半并且多一个,等到第五天发现最后只剩下一个桃子,问猴子原来一共有多少个桃子
分析:
终结点:第五天之后只有一个桃子说明结束条件为f(5)=1;
公式:前一天桃子数量为f(x)则第二天数量则为f(x+1),根据题意得出他们之间的关系为f(x+1)=f(x)-f(x)/2-1,整理可得f(x)=2f(x+1)+2,根据第五天桃子的数量递归求得第一天桃子的数量
则对应的代码为

public class RecursionDemo {
   
        public static void main
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值