- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
递归调用;使用递归求解问题,通常可以将一个比较大的问题层层转化为一个与原问题相类似的、规模较小的问题进行求解,最终达到对原问题的求解。 ;用递归计算n!
n!可以由下列公式表示:
n!;Program p7_20(input,output);
var
n:integer;
s:integer;
Function fac(a:integer):integer;
Begin
if a=0 then fac:=1
else fac:=a*fac(a-1);
End;
Begin
Readln(n);
S:=fac(n);
Writeln(n,’!=’,s)
End.; 能用递归算法求解的问题一般应该满足如下要求:
符合递归的描述:需要解决的问题可以化为子问题求解,而子问题求解的方法与原问题相同,只是数量增大或减少;
递归调用的次数是有限的;
必须有递归结束的条件。;用递归方法求两个数m和n 的最大公约数;输入一串以‘!’结束的字符,按逆序输出;Program p7_23(input,output);
Var
x:integer;
Function up(var n:integer):integer;
Forward;
Function down(var n:integer):integer;
begin
n:=n div 2;
writeln(n,’in down’);
if n<>1 then n:=up(n);
End;
Function up;
Begin
while(n mod 2)<>0 do
begin
n:=n*3+1;
Writeln(n,’in up’);
End;
N:=down(n);
End;
Begin
Write(‘input x:’);
Readln(x);
X:=up(x);
Writeln(‘ok’)
End.
您可能关注的文档
- CCNA第二学期Final超强整合版下.doc
- 二轮复习课件算术平均数及几何平均数31.ppt
- 六年级上信息技术教案(校本课)-你知道mp3吗?_陕科版.doc
- 六年级上信息技术课件-第1课 遨游LOGO王国_辽师大版(三起).ppt
- 六年级上信息技术课件(A)-第4课 小海龟的美术社_辽师大版(三起).ppt
- 六年级上信息技术课件(B)-第4课 小海龟的美术社_辽师大版(三起).ppt
- 六年级上信息技术课件(B)-第9课 过程的定义_辽师大版(三起).ppt
- 六年级上冀教版《第3章 比和比例》同步练习.doc
- 六年级上册综合实践活动课件-认识大蒜_上海科技出版社 (共22张PPT).ppt
- 六年级上册语文一课一练16.青山不老 l 人教新课标.doc
文档评论(0)