六年级上信息技术第13课 递归调用.pptVIP

  • 0
  • 0
  • 约小于1千字
  • 约 8页
  • 2019-08-10 发布于广东
  • 举报
递归调用 使用递归求解问题,通常可以将一个比较大的问题层层转化为一个与原问题相类似的、规模较小的问题进行求解,最终达到对原问题的求解。 用递归计算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); 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 的最大公约

文档评论(0)

1亿VIP精品文档

相关文档