递归实现fib数列第n项的值

概念:

fib数列:         1        1        2        3        5        8        13        .....

                不难发现从第三项开始,每一位的值等于前两项的值的和相加

代码:

#include
using namespace std;

// 递归函数,用于计算第n个斐波那契数列的值
int fib(int n)
{
    if (n == 1 || n == 2)   // 当n等于1或2时,返回1
        return 1;
    else                    // 否则,计算前两个数的和
        return fib(n - 1) + fib(n - 2);
}

int main()
{
    int n;
    cin >> n;                // 输入要计算的数列项数
    cout << fib(n);         // 输出第n个斐波那契数列的值
    return 0;
}

你可能感兴趣的:(数据结构与算法,算法)