[蓝蓝计算机考研算法训练二期]-day07

81 阅读1分钟

10、统计每个月兔子的总数

有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。

例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。

一月的时候有一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?

数据范围:输入满足 1≤n≤31

输入描述:

输入一个int型整数表示第n个月

输出描述:

输出对应的兔子总数

代码实现:

int main() {

    int a=1,b=1,t;
    int n;//yue fen
    while(scanf("%d",&n)!=EOF){
        if(n==1||n==2){
            printf("%d",a);
        }else if(n>=3){
            for(int i=3;i<=n;i++){
                t=a+b;
                a=b;
                b=t;
            }
            printf("%d",t);

        }
    }


}