计算兔子的总数

/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?兔子的规律为数列1,1,2,3,5,8,13,21....*/

#include <stdio.h>

//f(n) = 2f(n-1) - (f(n-1)-f(n-2)) = f(n-1) + f(n-2);
递归实现

int numbers(int n);
int main(int argc, const char * argv[]) {
    //第n个月
    int n = 8;
    
    printf("第%i个月兔子的总数是:%i
", n, numbers(n));
    
    return 0;
}

int numbers(int n)
{
    if (n == 1 || n == 2) {
        return 1;
    }else{
        return numbers(n-1)+numbers(n-2);
    }
}
原文地址:https://www.cnblogs.com/wm-0818/p/5189342.html