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

问题描述:

  编制递归函数 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;
}

运行结果:

第12周项目3 用递归方法求解(4)_第1张图片

你可能感兴趣的:(编程,C++,namespace,计算机)