意大利数学家斐波那契,在1202年出版的一书里提出了一个这样的问题:一对兔子饲养到第二个月进入成年,第3个月生一对小兔子,以后每个月生一对小兔,所生的小兔能全部存活并且也是第2个月成年,第3个月生一对小兔,以后每月生一对小兔。问这样下去到年底应有多少对兔子?
试画出解决此问题的程序框图,并编写相应的程序。
意大利数学家斐波那契,在1202年出版的一书里提出了一个这样的问题:一对兔子饲养到第二个月进入成年,第3个月生一对小兔子,以后每个月生一对小兔,所生的小兔能全部存活并且也是第2个月成年,第3个月生一对小兔,以后每月生一对小兔。问这样下去到年底应有多少对兔子?
试画出解决此问题的程序框图,并编写相应的程序。
:第一个月是最初的一对兔子生下一对兔子,围墙内共有2对兔子。第二个月仍是最初的一对兔子生下一对兔子,共有3对兔子。到第三个月除最初的兔子新生一对兔子外,第一个月生的兔子也开始生兔子,因此共有5对兔子。继续推下去,第12个月时最终共有377对兔子。书中还提出,每个月的兔子总数可由前两个月的兔子数相加而得。
这个问题应该能这样来想吧。。。
第一个月:1对兔子
第二个月:1对兔子
第三个月:1+1=2对兔子
第四个月:2+1=3对兔子
第五个月:3+2=5对兔子
第六个月:5+3=8对兔子
········
可见这是一个有规律的排列,即1,1,2,3,5,8,13·····
第n个数是第n-1和第n-2个数的和(n>=3),我写的程序如下:
#include<stdio.h>
int baifa(int n) { if(n==1||n==2) return 1; else return baifa(n-1)+baifa(n-2); }
main() { int n; scanf("%d",&n); printf("%d\n",baifa(n)); }
要求年底的兔子数,只需要输入12即第12个月,则求得第12个月的兔子对数。。。
第一次回答问题,不知道回答的怎么样,不足的地方请多见谅。。。