【高精度算法&递归算法】兔子繁殖加强版(c++)

题目描述

兔子具有很强的繁殖能力。一对成年兔子每个月可以繁殖一对小兔子,而一对小兔子经过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++
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值