2008递推算法递归算法课件.pptVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2008递推算法递归算法课件

递推算法 递推算法是一种若干步、重复的简单运算(规律)解决问题的算法。 已知—未知 例1 ABCDE植树。问A植几棵树,比B多2棵。问B植几棵树,比C多2棵。……E说植了10棵树。求A植几棵? 已知条件:a5=10 递推式(规律):a 4 =a5 +2 var a:array[1..5]of longint; i:longint; begin a[5]:=10; for i:=4 downto 1 do a[i]:=a[i+1]+2; writeln(a[1]); end. 例2 fanbonacci数列0.1.1.2.3.5.8.13...... var n,a,b,c,i:longint; begin a:=0; b:=1; read(n); for i:=3 to n do begin c:=a+b; a:=b; b:=c; end; if n=2 then writeln(1) else writeln(c); end. 例3 monkey eat peach .pas var i,today:longint; begin today:=1; for i:=10 downto 2 do today:=(today+1)*2; writeln(today); end. 例4 stairs. Pas(fanbonacci) var n,i,a,b,c:longint; begin readln(n); a:=1; b:=2; for i:=3 to n do begin c:=a+b; a:=b; b:=c; end; writeln(c); end. 例5 立方=连续奇数和 var i,j,n,a:longint; begin readln(n); a:=-1; for i:=1 to n-1 do for j:=1 to i do a:=a+2; for i:=1 to n do begin a:=a+2; write(a, ); end; end. 例6 rabbit . Pas兔子繁殖问题。 var n,i,lx,nx,px,now:longint; begin px:=0; lx:=1; now:=0; readln(n); for i:=1 to n do begin nx:=px+lx; now:=now+nx; px:=lx; lx:=nx; end; if n=1 then writeln(2) else writeln(now*2); end. 递归算法 递归算法:函数/过程体中出现对自己的调用,称作递归。 未知—已知—未知 例7 ABCDE植树。问A植几棵树,比B多2棵。问B植几棵树,比C多2棵……E说植了10棵树。求A植几棵? 算法分析: END条件:a5=10 递归式(规律):a n=a n+1 +2 函数: var n:longint; function tree(n:longint):longint; begin if n=5 then tree:=10 else tree:=tree(n+1)+2; end; BEGIN read(n); writeln(tree(n)); END. 过程: var n,s:longint; BEGIN procedure tree(n:longint); readln(n); begin tree(n); if n=5 then s:=10 writeln(s); else END. begin tree(n+1); s:=s+2; end; end; 例8 rabbit . Pas兔子繁殖问题。 //P98-4. 算法分析: END条件:rabbit(1)rabbit(2)=1 递归式(规律):rabbit(n) =rabbit(n-1)+rabbit(n-2) var n:longint; function

文档评论(0)

baa89089 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档