文件名称:递归例题分析.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)的结果。