其他分享
首页 > 其他分享> > 【笔试题】养兔子

【笔试题】养兔子

作者:互联网

【笔试题】养兔子


文章目录


1、题目描述

  一只成熟的兔子每天能产下一胎兔子。每只小兔子的成熟期是一天。 某人领养了一只小兔子,请问第N天以后,他将会得到多少只兔子。


2、输入/出描述

  输入描述:测试数据包括多组,每组一行,为整数n(1≤n≤90)。

  输出描述:对应输出第n天有几只兔子(假设没有兔子死亡现象)。


3、示例

输入: 1 2

输出: 1 2


4、分析

  刚开始递推公式不是很好想,就把前几天兔子的个数列出来,分为成熟兔子+刚生下来的兔子,第i+1天的成熟兔子等于第i天的所有兔子,第i+1天的刚生下来的兔子等于第i天的成熟兔子即第i-1天的所有兔子,即可得出递推式。除此之外用递归会超时,用一维数组存就好了。

时间成熟兔子刚生下来的兔子
第1天10
第2天11
第3天21
第4天32
第5天53
第6天85
第7天138

  在者,仔细观察它其实就是斐波那契数列。


5、代码

#include <iostream>
using namespace std;
int main(){
	int n;
	long long a[100];
	a[1]=1;
	a[2]=2;
	while(cin>>n){
		for(int i=3;i<=n;i++){
			a[i]=a[i-1]+a[i-2];
		}
		cout<<a[n]<<endl;
	}
}

标签:int,笔试,成熟,兔子,刚生,描述
来源: https://blog.csdn.net/Sunnyside_/article/details/115081693