- 0
- 0
- 约6.8千字
- 约 31页
- 2023-08-11 发布于北京
- 举报
ACM程序设计
杭州电子科技大学
每周一星 (2):
Hoxily
2021/8/10 3
第三讲
递推求解
2021/8/10 4
先来看一个超级简单的例题:
◼ 有5人坐在一起,当问第5个人多少岁,
他说比第4个 2岁,问第4个人多
少岁,他说比第3个 2岁,依此下去,
问第一个人多少岁,他说他10岁,最
后求第5个人多少岁?
◼ 如果所坐的不是5人而是n人,写出第
n个人的 表达式。
2021/8/10 5
显然可以得到如下 :
化简后的 :
F(n)=10+(n-1)*2
2021/8/10 6
Fibnacci 数列:
即:1、2 、3、5、8、13、21、34…
2021/8/10 7
思考:
◼ 递推 的意义——?
◼ 有了 ,人工计算的方法?
◼ 常见的编程实现方法?(优缺点?)
2021/8/10 8
简单思考题:
◼ 在一个平面上有一个圆和n条直线,
这些直线中每一条在圆内同其他直
线相交,假设没有3条直线相交于
一点,试问这些直线将圆分成多少
区域。
2021/8/10 9
是不是这个——
F(1)=2;
F(n) = F(n-1)+n;
化简后:
F(n) = n(n+1)/2 +1;
2021/8/10 10
太简单了?
来个稍微麻烦一些的☺
2021/8/10 11
例: (2050)折线分割平面
问题描述:
平面上有n条折线,问这些折线最多能将平面分割
成多少块?
样例输入
1
2
样例输出
2
7
2021/8/10 12
思考:如何用递推解决?
结论——
F(n)=F(n-1)+4(n-
1)
/8/10 13
另外一种结论:
◼ Zn = 2n ( 2n + 1 ) / 2 + 1 - 2n
= 2 n^2 – n + 1
为什么?
2021/8/10 14
原创力文档

文档评论(0)