题目描述
兔子具有很强的繁殖能力。一对成年兔子每个月可以繁殖一对小兔子,而一对小兔子经过m个月之后,就会长成一对成年兔子。当一开始有一对成年兔子时,经过d个月以后,共有多少对兔子?你的任务是计算出一堆成年兔子经过d个月之后,共有多少对兔子?可以假定,在此阶段没有任何兔子死亡。
输入
输入包括多组测试数据。每组测试数据的一行中包括2个整数m(1<=m<=10),d(1<=d<=100)。当测试数据遇到一行中有两个0时,即m=d=0,测试数据结束。
输出
针对每组测试数据,在每一行输出经过d个月后共有多少对兔子。
样例输入
2 3
3 5
0 0
样例输出
5
9
2019年前 本来这道题要用递归的,但对我来说太难实现了
如果m=d=1,那么s(x)=s(x-1)+s(x-2) {s(1)=2,s(2)=4}
我的方法是
用循环枚举每一个月份,
用数组保存大小兔子数,
最后输出大小兔子总数之和。
要用高精度,否则会WA
int to(int xx,int yy)//不加高精度的循环代码
{
int r1[105]={
},r2[105]={
},x=xx,y=yy;
int q1=1,q2=0;
r1[0]=1;
for(int i=1;i<=y;i++