首页 > 试题广场 >

当n=5时,下列函数的返回值是:()intfoo(intn)

[单选题]
当n=5时,下列函数的返回值是()
 int foo(int n) { 
     if(n<2)return n; 
     return foo(n-1)+foo(n-2); 
 } 

  • 5
  • 7
  • 8
  • 1
f(5)=
f(4)                       +f(3)=
f(3)        +f(2)       +f(2)        +f(1)=
f(2)+f(1)+f(1)+f(0)+f(1)+f(0)+f(1)=
f(1)+f(0)+f(1)+f(1)+f(0)+f(1)+f(0)+f(1)=5
发表于 2021-03-05 08:54:08 回复(1)
首先在不知道此题是斐波那契数列的前提下。我们可以算出foo(0)=0 foo(1)=1. 之后我们可以算出foo(2)=foo(1)+foo(0)=1. foo(3)=foo(2)+foo(1)=2. foo(4)=foo(3)+foo(2)=3. 因此,当n=5时,有foo(4)+foo(3)=5
发表于 2022-02-17 23:37:13 回复(0)
斐波那契数列1.1.2.3.4.5
发表于 2020-01-22 20:53:23 回复(2)
其实是斐波拉契数列的实现,0 1 1 2 3 5 第5项是5,每一项是前两项之和,故有递推公式 an = a(n-1)+a(n-2)
发表于 2021-05-05 20:43:11 回复(0)
这里没有出口啊 n==-1 呢 一直往下减呢
发表于 2024-03-02 22:40:47 回复(0)
发表于 2023-08-03 22:15:14 回复(0)
原来是个高中数学题。。
发表于 2021-12-14 11:54:28 回复(0)
foo(1)+foo(0)+foo(1)+foo(1)+foo(0)+foo(1)+foo(1)=5
发表于 2021-03-09 15:34:27 回复(0)
这个函数就是求斐波那契数列的第n项
发表于 2020-08-24 15:28:37 回复(0)