int foo(int n){ if(n < 2) return n; return foo(n-1)+foo(n-2); }
5
7
8
10
当n=6时,调用函数foo(6),根据递归的定义,会进一步调用foo(5)和foo(4)。
对于foo(5),又会继续调用foo(4)和foo(3)。
对于foo(4),再次调用foo(3)和foo(2)。
对于foo(3),会调用foo(2)和foo(1)。
现在,我们可以计算出以下调用的返回值:
foo(2) = 2 foo(1) = 1
接下来,我们可以通过逐步计算返回值来找到foo(6)的值。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题