收藏 分享(赏)

(辽师大版)六年级信息技术上册课件 递归调用.ppt

上传人:天天快乐 文档编号:1487758 上传时间:2018-07-22 格式:PPT 页数:8 大小:197KB
下载 相关 举报
(辽师大版)六年级信息技术上册课件 递归调用.ppt_第1页
第1页 / 共8页
(辽师大版)六年级信息技术上册课件 递归调用.ppt_第2页
第2页 / 共8页
(辽师大版)六年级信息技术上册课件 递归调用.ppt_第3页
第3页 / 共8页
(辽师大版)六年级信息技术上册课件 递归调用.ppt_第4页
第4页 / 共8页
(辽师大版)六年级信息技术上册课件 递归调用.ppt_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、递归调用,使用递归求解问题,通常可以将一个比较大的问题层层转化为一个与原问题相类似的、规模较小的问题进行求解,最终达到对原问题的求解。,用递归计算n! n!可以由下列公式表示:n!,1 n=0,n(n-1)! n0,分析:把求n!转化为求(n-1)!的问题,因为(n-1)!乘上n就是n!。而求(n-1)! 又可以转化为求(n-2)!的问题,.最后归结到求0!的问题,而0!已定义为1。 由0!=1又一步步反上去求出1!,2!,.直到求出n!。,Program p7_20(input,output);varn:integer;s:integer; Function fac(a:integer):i

2、nteger; Beginif a=0 then fac:=1else fac:=a*fac(a-1); End;Begin Readln(n); S:=fac(n); Writeln(n,!=,s) End.,能用递归算法求解的问题一般应该满足如下要求: 符合递归的描述:需要解决的问题可以化为子问题求解,而子问题求解的方法与原问题相同,只是数量增大或减少; 递归调用的次数是有限的; 必须有递归结束的条件。,用递归方法求两个数m和n 的最大公约数,Program p7_21(input,output); Varm,n,g:integer; Function gcd(m,n:integer):i

3、nteger;var r:integer;beginr:=m mod n;if r=0 then gcd:=nelse gcd:=gcd(n,r); End; Beginread(m,n); g:=gcd(m,n); Writeln(m=,m,n=,n,gcd=,g); End.,输入一串以!结束的字符,按逆序输出,Program p7_22(input,output); Procedure rever;var c:char; Beginread(c);if c! then rever;write(c); End; Beginrever; End.,Program p7_23(input,ou

4、tput); Varx:integer; Function up(var n:integer):integer; Forward; Function down(var n:integer):integer;beginn:=n div 2;writeln(n,in down);if n1 then n:=up(n); End; Function up; Beginwhile(n mod 2)0 dobeginn:=n*3+1; Writeln(n,in up); End; N:=down(n); End; Begin Write(input x:); Readln(x); X:=up(x); Writeln(ok) End.,运行: Input x:6 3 in down 10 in up 5 in down 16 in up 8 in down 4 in down 2 in down 2 in down ok,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初级教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报