您的位置:首页 > 其它

第12周项目3 用递归方法求解(4)

2014-11-15 02:55 232 查看
问题描述:

编制递归函数 fib(int n)返回第 n个 Fibnacci 数,以此输出 Fibnacci 序列的第 20 个数。

ps:斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=Fn-1+Fn-2(n>=2,n∈N*),用文字来说,就是斐波那契数列列由
0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加。


代码:

/*
 *copyright (c) 2014,烟台大学计算机学院
 *all rights reserved.
 *文 件 名 : 递归解决问题系列.cpp
 *作    者 :张   鹏
 *完成日期 :2014年11月15号
 *版 本 号 :v1.3
 *
 *问题描述 :编制递归函数 fib(int n)返回第 n个 Fibnacci 数,以此输出 Fibnacci 序列的第 20 个数。
 *输入描述 :无
 *程序输出 :输出 Fibnacci 序列的第 20 个数。
 */
#include <iostream>             //预处理指令。.
using namespace std;            //使用C++的命名空间 std。
int fib(int );                  //声明自定义函数,用于求斐波那契数。
int main()
{
    cout<<fib(20)<<endl; //输出
    return 0;
}
//返回Fibnacci 序列中的第 n 个数
int fib(int n)
{
    int f;
    if(n==1)
    {
      f=0;
    }
    else if(n==2)
    {
        f=1;
    }
    else f=fib(n-1)+fib(n-2);
    return f;
}


运行结果:




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: