C语言-斐波那契数列-递归\迭代

斐波那契数列(Fibonacci sequence)、黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列: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∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用。

表达式为:F[n]=F[n-1]+F[n-2]   (n>=3, F[1]=1, F[2]=1)

引用:https://baike.baidu.com/item/斐波那契数列/99145?fr=aladd

#include <stdio.h>
#include <stdlib.h>

int Fbi(int i)
{
    if(i<2)
        return i == 0 ? 0 : 1;
    return Fbi(i-1) + Fbi(i-2);
}

int main()
{
    int i,a[40];
    printf("迭代显示斐波那契数列:\n");
    a[0]=0;
    a[1]=1;
    printf("%d\n",a[0]);
    printf("%d\n",a[1]);
    for(i=2; i<10; i++)
    {
        a[i]=a[i-1]+a[i-2];
        printf("%d\n",a[i]);
    }
    printf("\n");
    printf("递归显示斐波那契数列:\n");
    for(i=0; i<10; i++)
        printf("%d\n",Fbi(i));
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_42785489/article/details/87560240