首页 > 试题广场 >

下面这段 C 代码的输出是什么? int f(int

[单选题]
下面这段 C 代码的输出是()
int f(int n)
{
    if(n <= 1)
        return 1;
    if(n%2 == 0)
        return f(n/2);
    return f(n/2) + f(n/2+1);
}
 
int main()
{
    printf("%d", f(11));
    return 0;
}

  • 运行出错,栈溢出
  • 3
  • 4
  • 5
发表于 2020-08-06 22:26:47 回复(4)
发表于 2022-03-31 09:45:15 回复(0)
f0=1 f1=1 f2=f1=1 f3=f1+f2=@2 f4=f2=1 f5=f2+f3=3 f6=2 f11=f5+f6=5
发表于 2022-01-10 15:22:51 回复(0)
递归
发表于 2022-08-15 15:20:52 回复(0)
就是整型5.5 6.5 5和6按照他给的算法一直除下去直到≤1 也就是2 3 3后1 1 2 1 2后 1 1 1 1 1 五个1加一起就是输出值 ≤1是他的条件
发表于 2022-11-28 22:48:31 回复(0)
求教这个求得是什么?
发表于 2020-10-26 11:48:55 回复(1)