- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
                        查看更多
                        
                    
                递推与递归算法.doc
                    第七讲   递推与递归算法
学习重点
1、掌握基本的算法——递推。特别是迭代公式的建立。
2、了解递归算法的思想。
学习过程
递推算法是小学生竞赛中常用的方法,也是我们在辅导学生学习中需要注意的地方。递推算法主要是找出其迭代公式,分为顺推和逆推两种。
1、顺推
从已知条件出发,逐步推算出要解决的问题的方法叫顺推。如斐波拉契数列、杨辉三角形都是用的这种方法。
例1:【问题描述】有一个数列:第1项的值为0,第2项的值为1,从第3项起为其前两项之和。其第20项的值是多少?(斐波那契数列)
【问题分析】
开始的条件:a(1)=0  a(2)=1
从第3项起其迭代表达式为a(i)=a(i-1)+a(i-2)
【程序清单】
FOR  i=3  TO  20
  a(i)=a(i-1)+a(i-2)
NEXT  i
PRINT  a(20)
最后输出a(20)就得出问题的结果。
我们再来理解下面的一道题目,这是2003年信息学奥赛复赛的第4题。
例2:【问题描述】   
对一个正整数K,求出K的所有拆分,并统计输出其中回文数列的个数。
    所谓回文数列是指该数列中的所有数字,从左向右或从右向左看都相同。
  例如:
    K=4时,有如下的拆分:
    4=1+1+1+1  {回文数列1}
     =1+1+2
     =1+2+1    {回文数列2}
     =2+1+1
     =2+2      {回文数列3}
     =1+3
     =3+1
    回文数列共有3个
【输  入】 一个正整数K(1K≤26).
【输  出】  满足条件的回文数列的个数.
【输入样例】
   4
【输出样例】
       3
【问题分析】
很多同学拿到这道题目以后,第一个想法是采用回溯算法对每个数进行拆分,再判断所拆分的是否为回文数列并统计个数。这样处理对输入数较小,可在规定时间内完成,一旦输入数较大,则数据规模较大,不能在规定时间内完成。
我们换一种思路来思考,因本题并未要求打印其各种方案,可先列举:
输入K=2时,有1种拆分方法:1+1
输入K=3时,有1种拆分方法,1+1+1
输入K=4时,有3种拆分方法:1+1+1+1,1+2+1,2+2
输入K=5时,有3种拆分方法:1+1+1+1+1,1+3+1,2+1+2
输入K=6时,有7种拆分方法:1+1+1+1+1+1,1+1+2+1+1,1+2+2+1,1+4+1,
2+1+1+2,2+2+2,3+3
……
通过推导,我们可以找出当K为6和7时,它们的方案数是相同的;K为8和9时,方案数也是相同的。并可找出输入K与结果的关系:S=2^(K\2)-1
【程序清单】
INPUT  K
S=2^(K\2)-1
PRINT  S 
END
【运行示例】
输入:10
输出:31
例3:【问题描述】将正方形纸片由下往上对折,再由左向右对折,称为完成一个操作。按上述完成N次操作以后,剪去所得小正方形的左下角。求:当展开这张正方形纸片后,一共有多少个小洞孔? 
【问题分析】
一次操作后,层数由1变为4,若剪去所得小正方形左下角,展开后只有1个小洞孔,恰是大正方形的中心。
连续两次操作后,折纸层数为4^2,剪去所得小正方形左下角,展开后大正方形留有4^(2-1)=4个小洞孔;
连续三次操作后,折纸层数为4^3,剪去所得小正方形左下角,展开后大正方形上留有4^(3-1)=16个小洞孔;
……
按上述规律可推导出迭代公式:S=4^(N-1)
【程序清单】
INPUT  N        ’N为操作次数
S=4^(N-1)       ’S为小洞孔的个数
PRINT  S
END
【运行示例】
输入:5
输出:256
例4:【问题描述】将自然数排成如下的螺旋状:
21
22
23
24
25
26
20
7
8
9
10
27
19
6
1
2
11
28
18
5
4
3
12
…
17
16
15
14
13
    第一个拐弯处的数是2,第二个拐弯处的数是3,第20个及第25个拐弯处的数各是多少?(111    170)(P167例10)
【问题分析】
由图可知,前几个拐弯处的数依次是:
2,3,5,7,10,13,17,21,26,……
这是一个数列,有什么规律呢?
把数列的后一项减去前一项,得一新数列:
1,2,2,3,3,4,4,5,5,……
把原数列的第一项2添在新数列的前面,得到
2,1,2,2,3,3,4,4,5,5,……
于是,原数列的第n项an就等于上面数列的前n项和,即
a1=2=1+1=2
a2=2+1=1+(1+1)=3
a3=2+1+2=1+(1+1+2)=5
a4=2+1+2+2=1+(1+1+2+2)=7
……
所以,第20个拐弯处的数是:
A20=1+(1+
                您可能关注的文档
最近下载
- 九年级语文上册期中测试卷.docx VIP
- 如何提高培智学校课堂教学的有效性-最新资料.pptx VIP
- 人教版小学六年级下册数学精品教学课件 第二单元 百分数(二) 2.2 成数.ppt VIP
- 1访谈记录不忘初心方得始终.pdf VIP
- 八年级期中考试质量分析报告.doc VIP
- 2023年郑州中牟事业单位笔试参考答案 - 副本.pdf VIP
- 机器人滚压包边DPCA F12 001-2008.doc VIP
- (完整版)水电、风电效益测算分析表.xls VIP
- 甘教版初中八年级信息技术第四章《多媒体作品的规划与设计》说课课件.ppt VIP
- 人教版小学六年级下册数学精品教学课件 第二单元 百分数(二) 2.1 折扣.ppt VIP
 原创力文档
原创力文档 
                        

文档评论(0)