- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息学竞赛―――递归算法
一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数).递归程序包含递归和递推两个过程,这两个过程又都是根据一个递推公式进行的。一般来说,能够用递归解决的问题应该满足以下三个条件
①需要解决的问题可以化为一个或多个子问题来求解,而这些子问题的求解方法与原来的问题完全相同,只是在数量规模上不同;
②递归调用的次数必须是有限的;
③必须有结束递归的条件(边界条件)来终止递归。
例1、楼梯共有N阶台阶,上楼可以以一步上一个台阶,也可以一步上二个台阶。编一个程序计算上N阶台阶,共有多少种走法?
program stair(input,output);
var s,n:integer;
function f(n:integer):integer;
?? begin?? if n3 then f:=n
???????? ???????else f:=f(n-1)+f(n-2);
?? end;
begin
??? readln(n);
??? s:=f(n);
??? writeln(s=,s);
end.例2、骨牌铺法
有1*n的一个长方形,用一个1*1、1*2、1*3的骨牌铺满方格。例如当n=3时为1*3的方格。此时用1*1,1*2,1*3的骨牌铺满方格,共有四种铺法。图4.4.3列出了四种铺法。
● ?
? ●
? ?
● ● ●
● ?
? ? ●
? ? ? ?
????
● ? ? ● ? ? 输入n(0=n=30)?? 输出? 铺法总数
分析:这道题可以采用猜测法,从具体的n=1,2,3,......开始,列举出结果,根据列举的部分结果进行猜测,推导出公式。这个猜测推导过程留给读者完成。问题是:这种方法中“猜”和“凑”的成分比较多,容易出错。我们不妨采用组合数学常用的待定系数进行归纳和推导。设推导公式如下:
f(n)=a*f(n-1)+b*f(n-2)+c*f(n-3)+d*f(n-4)+....(a,b,c,d...是常系数)
即1*n的长方形的铺法由全部(a种)1*(n-1)的长方形铺法总数加上全部(b种)1*(n-2)的长方形的铺法总数加上全部(c种)1*(n-3)的长方形的铺法总数......注意排除重复情况。
(1)将n格分成1格和n-1格,计算f(n-1)的系数a。右端1格的铺法有一种(a)。显然,在一格中只有一种铺法,即f(n-1)的系数a=1。
● ? ? ● ? ? ?(2)将n格分成2格和n-2格,计算f(n-2)的系数b。右端2格的铺法有两种(b)。由图可见,(b)的铺法包含在(a)的铺法中,而(c)的铺法不同于(a),因此f(n-2)的系数b=1。
?
(3)将n格分成3格和n-3格,计算f(n-3)的系数c。右端3格的铺法有两种(图4.4.5)。由图可见,(d)(e)(f)的铺法都可以归结到1格或2格中去,只有1*3的铺法(g)属于新的,因此f(n-3)的系数c=1。
将n格分成n-x格和x格(4=x=n-4)的情况都是重复的,因此不再讨论。由此得出:
f(1)=1,f(2)=2,f(3)=4,
??
f(n)=f(n-1)+f(n-2)+f(n-3)?? (n=5)
程序:var n:integer;
function f(i:integer):longint;
begin
? if i in[1..2]
then f:=i
else if i=3
then f:=4
else f:=f(I-1)+f(I-2)+f(I-3);
end;
begin
?? readln(n); writeln(f(n));
end.
“铺砖问题”有推广价值。例如某人走n级的楼梯,每步可以走1级、2级或3级,走完n级楼梯共有多少种走法。这个问题的数学意义和解法与“铺砖问题”相同。
?
例3: 划分问题
? 设s是一个具有n个元素的集合s={a1,a2,…an},现将s集合划分成k个满足下列条件的子集合s1,s2,s3。。。。;
???? 1、si空;
???? 2、si∩sj=空;
???? 3、s1∪s2∪s3…. ∪sn=s?????? (1=i,j=k,ij)
则称s1,s2…sn是集合s的一个划分,它相当于把集合s中的n个元素放入k个无标号的盒子中,使得没有一个盒子为空,试确定n个元素的集合放入k个无标号盒的划分数s(n,k)
【算法分析】:
??? 例如S={1,2,3,4},k=3。细心的读者稍加分析后,不难得出S有6 种不同的划分方案,即划分数为6。其方案为 {1,2}∪{3}∪{4}??????? {1,3}∪{2}∪{4}??????? {1,4}∪{2}∪{3}??????? ????{
您可能关注的文档
- 2012高考冲刺样本12复数、推理和证明.doc
- 2012高考数学第一轮复习4.2平面向量基本定理及其坐标表示跟踪测试.doc
- 2012高考文综(地理、历史、政治、语文)高分密码.doc
- 2012高中数学 2.3.2第1课时课时同步练习 新人教A版选修2-1.doc
- 2012届《教学导航》高三生物复习课件:必修1第3讲 生命活动的主要承担者——蛋白质.ppt
- 2012届高三数学二轮专题复习教案――平面解析几何.doc
- 2012届江苏省高考数学理二轮总复习专题导练课件:专题23 坐标系和参数方程.ppt
- 2012课堂新坐标高三地理二轮复习课件:第一部分 专题二 第三讲 水循环和水体运动.ppt
- 2012年度碧桂园职能中心、部门组织绩效考核方案及其指标评定细则.doc
- 2012年高考化学(江苏卷)word版含答案.doc
最近下载
- 金融科技行业系列报告之二:如何理解金融机构的数字营销?20210727-中信建投.docx VIP
- 中信建投-金融-中信建投政策研究-银发经济与养老金融系列-四-:保险资管行业赋能我国银发经济发展的机遇、挑战与路径.pdf VIP
- 工艺知识及关键控制点培训试卷及答案.docx
- 2025云南昆明供电局项目制用工招聘48人笔试参考题库附答案解析.docx VIP
- 中信建投-政策研究-五篇大文章-系列-五-数字金融.pdf VIP
- 中信建投政策研究“五篇大文章”系列(五):数字金融-240923-中信建投-22页.pdf VIP
- Taylor Swift中英歌词 对照.doc VIP
- 20180730-中信建投-中信建投“银行金融科技”系列深度之二:区块链,银行应用与前景.pdf VIP
- 正一天师手诀图谱秘录.pdf VIP
- 数字金融行业系列深度之一:deepseek如何加速金融业数字化转型?-中信建投-20250223.docx VIP
文档评论(0)