一道C语言的小题 求cnt的大小
#include <stdio.h>
int cnt = 0;
int fib(int n) {
cnt++;
if (n == 0) {
return 1;
}
else if( n == 1)
{
return 2;
}
else
{
return fib(n - 1) + fib(n - 2);
}
}
int main() {
fib(8);
printf("%d ",cnt);
return 0;
}
我的思路是这样
f(2) = f(1)+f(0) 这里的cnt = 3 (因为f(2)的时候也会让cnt加加一次)
f(3) = f(2)+f(1) 这里的cnt=5
f(4)=f(3)+f(2) cnt = 9
f(5)=f(4)+f(3) cnt = 15
f(6) =f(5)+f(4) cnt = 25
f(7) = f(6)+f(5) cnt = 41
f(8) =f(6)+(f7) cnt = 25 +41 + 1 = 67
这是运行结果