首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自学编程第二十七课

上次咱们学习了递归,今天咱们看看什么是递推。

递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。

它分为顺推和逆推两种,顺推法就是从已知条件出发,逐步推算出要解决的问题的方法叫顺推。逆推法从已知问题的结果出发,用迭代表示式逐步推算出问题的开始的条件。

先来看个例子:

假设一对兔子在第一个月为成长期,第二个月为孕期。从第三个月开始,每个月会生一对小兔子。那么二十个月后会有多少对兔子?

解本题的关键是:

1.初始条件中第一个月和第二个月都是一对兔子。

2.在任务中存在递推规律。

3.从递推式看出,三个量f1、f2、f3的相互交换即可实现求解。

4结束时间为20个月,所以月份条件小于20。

下面来看看演示:

好的,看完兔子咱们再看看猴子!

题目:一个猴子在第一天摘下若干个桃子,当即吃了一半,还不瘾又多吃了一个。第二天早上又将剩下的桃子吃掉一半又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

本题分析:

1.已知第十天只剩一个桃子。

2.后一天的桃子比前一天的一半少一个。

3.可运用两个量表示,先给出今天的桃子量tc,然后递推前一天tb。再进行替换即可。

我们实践一下:

今天,就这样吧!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190128G18QWY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券