【单选题】设有一个递归算法如下A.int fact(int n) { //n大于等于0B.if(n<=0) return 1;C.else return n*fact(n-1); }D.算fact(n)需要调用该函数的次数为()。E.n+1F.n-1G.nH.n+2
【单选题】设有一个递归算法如下
A.int fact(int n) { //n大于等于0
B.if(n<=0) return 1;
C.else return n*fact(n-1); }
D.算fact(n)需要调用该函数的次数为()。
E.n+1
F.n-1
G.n
H.n+2
参考答案和解析
D。 参考解析:需计算18次函数。
相关考题:
●若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用 (26) 算法,因为 (27) 。(26) A.先递归后递推B.先递推后递归C.递归D.递推(27) A.递推的效率比递归高B.递归宜于问题分解C.递归的效率比递推高
下面描述中,不正确的是( )。 A.递归法的关键是必须有一个递归终止的条件。B.递归算法要求语言具有反复自我调用子程序的能力。C.对于同一个问题,递推算法比递归算法的执行时间要长。D.递推算法总可以转换为一个递归算法。
设有一个递归算法如下int fact(intn){//n 大于等于0 if(n<=0)return 1; else return n* fact(n--); }则计算fact(n)需要调用该函数的次数为(30)次。A.nB.n+1C.n+2D.n-1
若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用__(1)__算法,因为__(2)__。空白(2)处应选择()A、递推的效率比递归高B、递归宜于问题分解C、递归的效率比递推高D、递推宜于问题分解
设有一个递归算法如下: int fact(int n) { //n大于等于0 if(n=0) return 1; else return n*fact(n-1); } 则计算fact(n)需要调用该函数的次数为()A、 n+1B、 n-1C、 nD、 n+2
单选题若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用__(1)__算法,因为__(2)__。空白(2)处应选择()A递推的效率比递归高B递归宜于问题分解C递归的效率比递推高D递推宜于问题分解
单选题设有一个递归算法如下: int fact(int n) { //n大于等于0 if(n=0) return 1; else return n*fact(n-1); } 则计算fact(n)需要调用该函数的次数为()A n+1B n-1C nD n+2