【语法基础】【基础-5】
题目
有一对小兔,过一个月之后长成大兔,到第四个月就可以生下一对小兔,并且以后每个月都生下一对小兔。而所生的一对小兔也同样到一个月之后长成大兔,到第四个月就可以生下一对小兔,并且以后也每个月都生下一对小兔.假设所有的兔子均不死亡,问第n个月后共有多少对兔子?请设计一个程序,解决这一问题。
输入格式
一个整数n(4<=n<=50)
输出格式
第n个月后共有多少对兔子
1.设每个月的兔子数量为rab[].
2.根据题目条件可以得到:第一个月、第二个月、第三个月的兔子数量都为1(因为第一对兔子还没开始生),即rab[1]=rab[2]=rab[3]=1.
3.从第四个月开始,每个月都会有新的兔子出生,所以这时起每个月的兔子数量等于每个月新出生的兔子数+已有的兔子数,而每个月新出生的兔子数就是三个月前兔子的总数(三个月前的每一只兔子都已可以生育<注意题目是“第四个月”,不是“四个月后”>),即rab[n]=rab[n-3]+rab[n-1].
代码:
#include<cstdio>
#include<iostream>