计算并打印Fibonacci数列每一项时所需的递归调用次数,数列第一项从1开始。
要求:
1)定义表示调用次数的全局变量count;
2)定义用递归方法求Fibonacci数列的Fib()函数。
函数接口定义:
long Fib(int a);
a为大于0的正整数。
裁判测试程序样例:
#include <stdio.h>
long Fib(int a);
/* 你的代码将被嵌在这里 */
int main()
{
int n, i, x;
printf("Input n:");
scanf("%d", &n);
for (i=1; i<=n; i++)
{
count = 0; //计算下一项Fibonacci数列时将计数器count清零
x = Fib(i);
printf("Fib(%d)=%d, count=%d\n", i, x, count);
}
return 0;
}
输入样例:
3
结尾无空行
输出样例:
Fib(1)=1, count=1
Fib(2)=1, count=1
Fib(3)=2, count=3
int count=0;
long Fib(int a)
{
count++;
if(a==1||a==2)
return 1;
else
return Fib(a-1)+Fib(a-2);
return count;
}