上次咱们学习了递归,今天咱们看看什么是递推。
递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。
它分为顺推和逆推两种,顺推法就是从已知条件出发,逐步推算出要解决的问题的方法叫顺推。逆推法从已知问题的结果出发,用迭代表示式逐步推算出问题的开始的条件。
先来看个例子:
假设一对兔子在第一个月为成长期,第二个月为孕期。从第三个月开始,每个月会生一对小兔子。那么二十个月后会有多少对兔子?
解本题的关键是:
1.初始条件中第一个月和第二个月都是一对兔子。
2.在任务中存在递推规律。
3.从递推式看出,三个量f1、f2、f3的相互交换即可实现求解。
4结束时间为20个月,所以月份条件小于20。
下面来看看演示:
好的,看完兔子咱们再看看猴子!
题目:一个猴子在第一天摘下若干个桃子,当即吃了一半,还不瘾又多吃了一个。第二天早上又将剩下的桃子吃掉一半又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
本题分析:
1.已知第十天只剩一个桃子。
2.后一天的桃子比前一天的一半少一个。
3.可运用两个量表示,先给出今天的桃子量tc,然后递推前一天tb。再进行替换即可。
我们实践一下:
今天,就这样吧!
领取专属 10元无门槛券
私享最新 技术干货