数据结构_递归算法_斐波那契数列

       斐波那契数列是一个非常重要的概念,在百度百科中给出了这样的定义“斐波那契数列(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>2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

【通项公式计算】

#include 
using namespace std;

double Fibon(int n)
{
    if (n < 1)
    {
        cout<<"n is error!"<>n;
    cout<

【循环方式计算】

#include 
using namespace std;

int Fibon(int n)
{
    if (n < 0)
    {
        printf("n is error!\n");
        return -1;
    }
    int n1 = 1;
    int n2 = 2;
    int n3 = 3;
    for (int i = 3;i <= n;++i)
    {
        n3 = n1+n2;
        n1 = n2;
        n2 = n3;
    }
    return n3;
}

int main()
{
    int n;
    cout<<"Please input Fibon index:"<>n;
    cout<<"斐波那契数列第"<

【递归方式计算】

#include 
using namespace std;

int Fibon(int n)
{
    if (n < 0)
    {
        printf("n is error!\n");
        return -1;
    }
    int n1 = 1;
    int n2 = 2;
    int n3 = 3;
    for (int i = 3;i <= n;++i)
    {
        n3 = n1+n2;
        n1 = n2;
        n2 = n3;
    }
    return n3;
}

int main()
{
    int n;
    cout<<"Please input Fibon index:"<>n;
    cout<<"斐波那契数列第"<

    有趣的是,这样一个完全是自然数的数列,通项公式却是用无理数来表达的。而且当n趋向于无穷大时,前一项与后一项的比值越来越逼近黄金分割0.618(或者说后一项与前一项的比值小数部分越来越逼近0.618)。

    原文作者:递归算法
    原文地址: https://blog.csdn.net/admin_maxin/article/details/53518908
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞