斐波那契数列的递归解法

文章目录

  • 1 基本思想
  • 2 代码
  • 3 测试结果

1 基本思想

斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…
从上面数列中可以看到,从第3项开始,每一项都等于前两项之和。

因此,可以归结如下:
斐波那契数列的递归解法_第1张图片

2 代码

#include 
#include 

int fac(int i)
{
    if ((i == 1) || (i == 2))
    {
        return 1;
    }
    
    if (i > 2)
    {
        return fac(i-1) + fac(i-2);
    }
    
    return 0;
}

int main()
{
    int i = 0;
    
    for (i = 1; i < 15; i++)
    {
        printf("%d ",fac(i));
    }
    printf("\n");
 
 
    return 0;
}

3 测试结果

#./test
1 1 2 3 5 8 13 21 34 55 89 144 233 377 

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