0
点赞
收藏
分享

微信扫一扫

实验04while(简单循环)---7-7 斐波那契数列第n项

输出斐波那契数列第n项(假设n<1000)。斐波那契数列:0,1,1,2,3,5,8,13……

输入格式:
一个正整数n,表示斐波那契数列第n项。

输出格式:
斐波那契数列第n项的值

输入样例:
1
输出样例:
0

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//迭代实现
int Fib(int n)
{
    int a = 1;
    int b = 1;
    int c = 0;
     
    while (n >= 3)
    {
        c = a + b;
        a = b;
        b = c;
        n--;
    }
    return c;//n=1 n=2时返回c
}

//递归实现
int Fib(int x)
{
    if (x>2)
    {
        return Fib(x-1) + Fib(x-2);
    }
    else if(x <=2 && x > 0)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

int main()
{
    int n = 0;
    scanf("%d", &n);
    n = n -1;
    printf("%d", Fib(n));
    return 0;
}
举报

相关推荐

0 条评论