古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

来源:互联网 发布:415打击网络政治谣言 编辑:程序博客网 时间:2024/05/01 07:42

该题需分析总结,再写程序。


分析

第一个月-----------------1

第二个月-----------------1

第三个月-----------------2

第四个月-----------------3

第五个月-----------------5

第六个月-----------------8

第七个月-----------------13

     ...                          ...


从中发现,从第三个月开始,前两个月兔子数之后为第三个兔子总数。


那程序就好办了,迭代。


#include <stdio.h>    int fun(int n)  {                    if (n==1 || n==2)           return 1;      else          return fun(n-1)+fun(n-2);  }  int main()  {      int mouth;      printf("你需要查询第几个月兔子数");      scanf("%d",&mouth);      fun(mouth);      printf("第%d个月兔子数量为:%d对\n",mouth,fun(mouth));      return 0;  } 



2 0
原创粉丝点击