递归函数f(n)=f(n-1)+n(n>1)的递归出口是()

题目

递归函数f(n)=f(n-1)+n(n>1)的递归出口是()

  • A、 f(1)=0
  • B、 f(1)=1
  • C、 f(0)=1
  • D、 f(n)=n
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面是计算n的阶乘的递归函数,请将该函数的定义补充完整。

unsigned f(unsigned n){

if(n<=1) return 1;

else return 【 】;

}


正确答案:n *f(n-1)
n *f(n-1) 解析:本题首先判断是否小于等于1,若是返回1,否则返回n乘以(n-1)!,这样递归下去,因此答案为:n*f(n-1)。

第2题:

已知递归函数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。

第3题:

●已知递归函数f(n)的功能是打印n,n-1,…,1,且n>=1,应采用的代码段是 (42) 。

(42) A.if n>1 then f(n-1);printf("%d",n);

B.if n<1 then f(n+1);printf("%d",n);

C.printf("%d",n);if n>1 then f(n-1);

D.printf("%d",n);if n<1 then f(n+1);


正确答案:C
【解析】n等于1时,递归结束,当n>1时递归打印n-1。

第4题:

将f=1+1/2+1/3+…+1/n转化成递归函数,其递归体是()。

A、f(1)=0

B、f(1)=1

C、f(0)=1

D、f(n)=f(n-1)+1/n


参考答案:D

第5题:

已知f(1)=1,f(2)=2,当n≥3时,f(n)= f(n-1)+f(n-2),编程求f(100)的值,应选择的算法为( )

A.解析法

B.穷举法

C.递归法

D.冒泡排序法


正确答案:C

第6题:

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

int f(int n)

{

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

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

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


正确答案:

第7题:

( 9 )下面的函数利用递归实现了求 1+2+3+ …… +n 的功能:

int sum ( int n ) {

if ( n==0 )

return 0;

else

return n+sum ( n-1 ) ;

}

在执行 sum ( 10 )的过程中,递归调用 sum 函数的次数是【 9 】 。


正确答案:

第8题:

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

int f (int n)

{

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

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


正确答案:

1  

第9题:

小宋在上楼梯时,有时一步一级楼梯,有时一步两级。如果楼梯有N级,问他上完这N

级楼梯有多少种?对于这样的问题,我们用递归来解决,我们可以假设用f(n)表示从第0

级上到第N级的方法数,考虑他最后一步的情况,有两种,一种是最后是跨了 一级,一种是

最后跨了两级,所以得到递归关系式f(n)=f(n-l)+f(n-2),还需要有递归出口,下面哪个

选项描述的递归出口满足该题目()<,

A. f(O)=l 

B. f(O)=l 和 f(1)=1 

C. f(l)=l 

D. f(l)=l 和 f(3)=3


答案:B
解析:就是Fibonacci数列 F(n)=F(n-1)+f(n-2)
用递归求第10个数,它等于前2数之和,如{1,1,2,3,5} 
得到递归式为f(n)=f(n-1)+f(n-2),终止条件为f(0)=1, f(1)=1。



第10题:

下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!cn*(n-1)*...*2*1)

unsigned fact(unsigned n)

{

if (n<=1)

return 1;

return 【 】;

}


正确答案:n*fact(n-1)或者fact(n-1)*n或者n*fact(-1+n)或者fact(-1+n)*n
n*fact(n-1)或者fact(n-1)*n或者n*fact(-1+n)或者fact(-1+n)*n 解析:递归的使用。

更多相关问题