递归例题分析.doc

时间:2022-07-22 11:02:58
【文件属性】:

文件名称:递归例题分析.doc

文件大小:94KB

文件格式:DOC

更新时间:2022-07-22 11:02:58

算法

[例1]用递归函数求n! 分析: n!可以由下列公式表示: 1 n=0 n!= n*(n-1)! n>0 根据数学中的定义把求n! 定义为求n*(n-1)! ,其中求(n-1)! 仍采用求n! 的方法,需要定义一个求a!的过程或函数,逐级调用此过程或函数,即: (n-1)!= (n-1)*(n-2)! ; (n-2)!= (n-2)*(n-3)! ; …… 直到n=0时给出0!=1,才开始逐级返回并计算各值。 ①定义递归函数:fac(a: integer): integer; 如果a=0,则fac:=1; 如果a>0,则调用函数fac:=fac(a-1)*a; ②返回主程序,打印fac(n)的结果。


网友评论