能保证对所有的参数能够结束的递归函数是A.int f(int n){if(n<1)return 1;else return n*f(n+1);

题目

能保证对所有的参数能够结束的递归函数是

A.int f(int n){if(n<1)return 1;else return n*f(n+1);}

B.int f(int n){if(n>1)return 1;else return n*f(n-1);}

C.int f(int n){if(abs(n)<1)return 1;else return n*f(n/2);}

D.int f(int n){if(n>1)return 1;else return n*f(n*2);)

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

如下递归函数实现:求n的阶乘,划线处应填写的表达式是________。 int Fac(int n){ if (n==0) return 1; else ________ ; }

A.Fac(n-1)

B.return Fac(n-1)

C.return n*Fac(n+1)

D.return n*Fac(n-1)


def fac(n): if n==1: return 1 return n*fac(n-1)

第2题:

【填空题】对于以下递归函数f,调用f(3)的返回值是______________ f(int n) { return((n<=0)?n:f(n-1)+f(n-2)); }


10

第3题:

【填空题】已知递归函数f的定义如下: int f(int n){ f (n<=1) return 1; //递归结束情况 else return n* f(n-2);} //递归 则函数调用语句f(5)的返回值是____。


15

第4题:

已知递归函数f的定义如下:

int f(int n)

{

if(n <=1)return 1; //递归结束情况

else return n*f(n-2); //递归}

则函数调用语句f(5)的返回值是【 】。


正确答案:15
15 解析:本题考查的是递归算法的分析。一个直接或间接地调用自身的算法称为递归算法。在一个递归算法中,至少要包含一个初始值和一个递归关系。本题的,f()函数在n小于等于1时返回1,而在其余情况下返回n*f(n-2)。所以本题的递归算法可以表示为:

题目要求的结果是f(5),即f(5)=5*f(3)=5*3*f(1)=5*3*1=15。故应该填15。

第5题:

下列函数中,哪项是正确的递归函数( )。

A int Fun(int n)

{

if(n<1) return 1;

else return n*Fun(n+1);

}

B) int Fun(ira n)

{

if(abs(n)<1) return 1;

else return n*Fun(n/2);

}

C) int Fun(int n)

{

if(n>1) return 1;

else return n*Fun(n*2)1

}

D) int Fun(int n)

{

if(n>1) return 1;

else retun n*Fun(n-1);

}

A.A

B.B

C.C

D.D


正确答案:B
解析:本题考查递归函数这个知识点。递归函数由递归出口和递归体两部分组成:递归出口给出了递归终止的条件;递归体给出了递归的方式。对于选项A,当参数n>=1时,不满足递归调用的结束条件;对于选项C,当参数n=0时,不满足递归调用的结束条件;对于选项D,当参数n:2时,不满足递归调用的结束条件。

第6题:

下面 ______ 是正确的递归函数,它保证对所有的参数能够结束。

A.int f(int n){ if(n<1) return 1; else return n*f(n+1); }

B.int f(int n){ if(n>1) return 1; else return n*f(n-1); }

C.int f(int n){ if(abs(n)<1) return 1; else return n*f(n/2); }

D.int f(int n){ if(n>1) return 1; else return n*f(n*2); }


正确答案:C

第7题:

已知递归函数f的定义如下:

int f(int n){

if(n<= 1)return 1;//递归结束情况f5=5*f3=5*3*f1

else return n*f(n-2); //递归

}

则函数调用语句f(5)的返回值是______。


正确答案:15
15 解析:函数递归调用,f(5)=5*f(3)=5*(3*f(1))=15。

第8题:

( 8 )已知递归函数 f 的定义如下:

int f(int n)

{

if (n <= 1) return 1; // 递归结束情况

else return n * f(n-2); // 递归 }

则函数调用语句 f(5) 的返回值是 【 8 】 。


正确答案:

第9题:

已知递归函数f 的定义如下:

int f (int n)

{

If(n<=1)return 1;//递归结束情况

else return n*f(n-2);//递归}则函数调用语句f(5)的返回值是( )。


正确答案:

1