基础算法思想_递归——斐波那契数列

斐波那契数列又因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。
一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后可以繁殖多少对兔子?
我们不妨拿新出生的一对小兔子分析一下:
第一个月小兔子没有繁殖能力,所以还是一对
两个月后,生下一对小兔对数共有两对
三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对

1 1 2 3 5 8 ……

递归实现代码如下:

#include "stdio.h"
int f(i)
{
    if(i>=0&&i<=1) return 1;
    else return (f(i-1)+f(i-2));
}
int main()
{
    int i;
    scanf("%d",&i);
    printf("%d",f(i));
}

你可能感兴趣的:(算法_基础算法练习题)