兔子的繁殖问题(斐波那契数列)

编程入门 行业动态 更新时间:2024-10-24 10:24:26

兔子的繁殖问题(斐波那契<a href=https://www.elefans.com/category/jswz/34/1765731.html style=数列)"/>

兔子的繁殖问题(斐波那契数列)

Problem A: 兔子的繁殖问题
假设一对兔子每月能生一对小兔(一雌一雄),每对小兔出生后的下一个月是没有繁殖能力的,至出生后的第三个月开始又可以每月生一对小兔,问从一对刚出生的小兔开始,经过若干个月后一共有多少兔子(假设在此过程中兔子没有死亡)?

这个问题是意大利数学家菲波那契(Fibonacci)在他1202年出版的《算盘全书》中提出来的,从第一对刚出生的小兔开始每月的兔子数被称作菲波那契序列。

Input

输入的第一个数为n,接下来有n个数字。每个数字为一个月份m(m<=45)。

Output

输出为n行,每行为第m个月后的兔子总数。

Sample Input

6
1 2 3 4 5 10

Sample Output

1
2
3
5
8
89

HINT

超时了吧!

使用递归计算菲波那契序列,这合适吗?

用数组写比较方便,用循环直接算也不超时。

#include <stdio.h>
#include <stdlib.h>
#define N 45
int main()
{int a[50],i,m,n,k;scanf("%d",&n);for(i=0;i<n;i++){a[0]=1;a[1]=2;scanf("%d",&m);if(m<=2)printf("%d\n",a[m-1]);else{for(k=2;k<m;k++)a[k]=a[k-1]+a[k-2];printf("%d\n",a[k-1]);}}}

更多推荐

兔子的繁殖问题(斐波那契数列)

本文发布于:2024-02-27 05:56:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1705436.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数列   兔子

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!