第21题: [单项选择]设n的初始值为正整数,设计一个递归算法如下:
int fact (int n) {
if (n<=0) return 1;
else return (n*fact(n-1));
}
以下叙述中正确的是______。 A. 计算fact(n)需要执行n次函数调用 B. 计算fact(n)需要执行n+1次函数调用 C. 计算fact(n)需要执行n+2次函数调用 D. 计算fact(n)需要执行n-1次函数调用 参考答案:B 答案解析:递归法是描述算法的一种强有力的方法,其思想是:将N=n时不能直接求解的问题,设法递归(压栈)转化为求n-1,n-2,…的问题,一直到N=0或1的初始情况,由于初始情况的解可以给出或方便得到,因此,开始