兔子繁衍问题 (10分)(斐波那契数列的实际应用)

一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?

输入格式:
输入在一行中给出一个不超过10000的正整数N。

输出格式:
在一行中输出兔子总数达到N最少需要的月数。

输入样例:

30

输出样例:

9

又是一道经典的不行的题目。
本章采用自定义递归函数的写法,非常简单(超级建议学习

#include<stdio.h>
int fibo(int n){
	if(n==1){
		return 1;//根据斐波那契数列,一月和二月兔子数量都是1对
	}
	if(n==2){
		return 1;
	}
	else{
		return fibo(n-1)+fibo(n-2);//递归思想的运用,前两个相加是第三个的对数
	}
}
int main(void){
	int mouth=1,s=0,i;
	scanf("%d",&i);
	while(fibo(mouth)<i){
		mouth=mouth+1;
	}
	printf("%d",mouth);
	return 0;
}
发布了10 篇原创文章 · 获赞 0 · 访问量 85

猜你喜欢

转载自blog.csdn.net/weixin_45734902/article/details/103975769