其他分享
首页 > 其他分享> > 6-3 计算Fibonacci数列每一项时所需的递归调用次数 (10 分)

6-3 计算Fibonacci数列每一项时所需的递归调用次数 (10 分)

作者:互联网

计算并打印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;
}

标签:count,10,return,数列,int,long,Fib,Fibonacci,每一项
来源: https://blog.csdn.net/okkkkO_O/article/details/121962725