斐波那契数列的递归解法

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项开始,每一项都等于前两项之和。

因此,可以归结如下:
在这里插入图片描述

2 代码

#include <stdio.h>
#include <string.h>

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 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章