递推算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
☺
天数 桃子树
1
2
3
10
4 1
猴子吃桃
问题二:到第10天小猴子再去吃桃子的时候,看到只
剩下一个桃子,则小猴子第一天共摘了多少桃子? 天数 桃子树 1 2 3 4 5 6 7 8 9 10
10
4 1
递推关系
☺有一天小猴子摘了若
猴子第n天吃桃子前的桃子总数为Sn,吃 桃子后的桃子总数为Xn,请问Sn与Xn的关 系?(n=1、2、3、4……) 猴子第n+1天吃桃子前的桃子总数为Sn+1 ,那么Sn+1与前一天的Xn的关系?(n=1 、2、3、4……) Sn与Sn+1的关系?写出当n=1、2、3、4 、5、6、7、8、9时,S1与S2、S2与S3 、S3与S4、……S8与S9的关系。
VB循环结构中的 VB循环结构中的 算法
推算
一步步
答案
结束 顶端
来自百度文库
把问题推上去 结束
一步步的推
答案一步步返回
“递推”算法 递推”算法
猴子吃桃
☺ 有一天小猴子摘了若干个桃子,当即吃了一半还觉得不 过瘾,又多吃了一个。第二天接着吃剩下桃子的一半, 仍觉得不过瘾又多吃了一个,以后小猴子都是吃剩下的 桃子一半多一个。 ☺ 到第3天小猴子再去吃桃子的时候,看到只剩下一个桃 子,则小猴子第一天共摘了多少桃子?
课堂小结
递推算法就是指从前面的已知结果推出后面 的未知结果;或由后面的已知结果推出前 面的未知结果。 解决递推问题必须具备两个条件: 1、初始条件 2、递推关系
经典:斐波那契数列
☺ 兔子繁殖问题
假设有一对新生兔子,从第二个月开始它们每个月都生一 对兔子。按此规律,如果所有兔子都不死,那么一年后共 有多少对兔子。人们发现每月的兔子数组成如下数列: 1,1,2,3,5,8,13,21,34,……并把它称为Fibonacci数列
干个桃子,当即吃了 一半还觉得不过瘾, 又多吃了一个。第二 天接着吃剩下桃子的 一半,仍觉得不过瘾 又多吃了一个,以后 小猴子都是吃剩下的 桃子一半多一个。
☺用循环结构实现这个算法,需要定义几个 变量,循环体和循环条件?
For 循环变量=初值 to 终值 step 步长值 循环体 Next 循环变量
月份 第一月 第二月 第三月 第四月 第五月 第六月 …… 新生兔 成熟 子 兔子 1
0 1 1 2 3
兔子 总数 1
1 2 3 5 8
0
1 1 2 3 5
☺ 1、斐波那契数列的规律是 什么? ☺ 2、递推公式? ☺ 3、在循环中需要定义几个 变量,每个变量的功能是什 么? ☺ 4、循环条件是什么?循环 体? ☺ 5、写出程序
VB递推实现 VB递推实现
Private Sub command1_Click() Dim s As Long, n As Integer s=1 For n = 9 To 1 Step -1 s = 2 * (s + 1) Next n Label1.Caption = s End Sub Private Sub command1_Click() Dim s As Long, n As Integer 若由用户指定是第n s=1 天只剩下一个桃子, For n求第一天的桃子总 = val(text1.text) -1To 1 Step -1 数。 s = 2 * (s + 1) Next n Label1.Caption = s End Sub