当前位置:首页 → 计算机类 → 软件水平考试 → 中级嵌入式系统设计师->设n初值为正整数,设计一个递归算法如下:intfact(in
设n初值为正整数,设计一个递归算法如下:int fact (int n) {if (nimage.png=0) return 1;else return (n*fact(n-1));}以下叙述中,正确是______。
本题考查函数递归调用方面相关知识。递归法是描述算法一种强有力方法,其思想是:将N=n时不能得出解问题,设法递归(压栈)转化为求n-1,n-2,…问题,一直到N=0或1初始情况,由于初始情况解可以给出,因此,开始层层退栈得到N=2,3,…,n时解,得到最终结果。本题中,主程序调用fact(n)称为外部调用,其他调用称为内部调用,直到调用fact(0)为止。fact(n)调用fact(n-1),fact(n-1)调用fact(n-2)……fact(1)调用fact(0),内部调用n次,外部调用一次,共n+1次。









