首页 > 试题广场 >

试问计算f(8)时,函数f返回( )。

[单选题]

设有一个递归函数如下

int  f(int n)
{   
     if(n<=3)    
         return 1;
    else 
        return f(n-2)+f(n-4)+1;
}

试问计算f(8)时,函数f返回(    )。

  • 6
  • 7
  • 8
  • 9
推荐
选D。考察的是递归运算原理。
 f(8)=f(6)+f(4)+1=f(4)+f(2)+1+f(4)+1=f(2)+f(0)+1+f(2)+1+f(2)+f(0)+1+1=9

编辑于 2019-06-27 14:16:49 回复(0)
f(8)=f(6)+f(4)+1
     =f(4)+f(2)+1+f(2)+f(0)+1+1
    =f(2)+f(0)+1+f(2)+1+f(2)+f(0)+1+1
    =1+1+1+1+1+1+1+1+1=9
发表于 2019-06-26 15:28:54 回复(0)

画一个二叉树,简单明了


发表于 2019-09-27 09:23:57 回复(2)
8>3
所以f(8)=f(8-2)+f(8-4)+1
            =f(6)+f(4)+1                        6>3,4>3
            =f(4)+f(2)+1+f(2)+f(0)+1+1
            =f(2)+f(0)+1+f(2)+1+f(2)+f(0)+1+1
            =1+1+1+1+1+1+1+1+1
            =9
发表于 2019-06-26 15:51:01 回复(0)
157头像 157
D   f(8)=f(6)+f(4)+1=f(4)+f(2)+1+f(4)+1=f(2)+f(0)+1+f(2)+1+f(2)+f(0)+1+1=9
发表于 2019-06-26 14:55:34 回复(0)