7-12 计算Fibonacci数列—递归

斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……

在数学上,斐波那契数列被以如下递推的方法定义:

F(1)=1
F(2)=1
F(n)=F(n-1)+F(n-2)(n ≥ 3)

请完成程序,用递归方法计算斐波那契数列第n项的值,并统计所需的递归调用次数

函数接口定义:

long Fib(int n);

函数返回斐波那契数列第n项的值。

部分程序样例:

这里给出主函数及对Fib函数的调用样例:

#include <stdio.h>
long Fib(int n);
int count=0;
int main()
{
    int n;
    long f;
    scanf("%d", &n);
    f = Fib(n);
    printf("Fib(%d)=%ld, count=%d\n", n, f, count);
    return0;
}

输入格式:

从键盘输入一个正整数n

输出格式:

输出斐波那契数列第n项的值,及所需的递归调用次数,中间以逗号分隔。

输入样例:

6

输出样例:

Fib(6)=8, count=15

#include <stdio.h>
int count=0;
int main()
{
    int n;
    long f;
    scanf("%d", &n);
    f = Fib(n);
    printf("Fib(%d)=%ld, count=%d\n", n, f, count);
}
int Fib(int n)
{
    count++;
    if(n==1||n==2)
        return 1;
    else 
        return Fib(n-1)+Fib(n-2);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此约爱彤无期

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值