猿问

C语言例题问题 关于兔子的

题目:有一对兔子,从出生后第三个月开始每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数是多少?



lWKl666
浏览 1859回答 3
3回答

Yexiaomo

我不知道 这只兔子是不是从第一年 就开始生兔子 下面的代码是 按照前两年不生兔子, 也就是 从第三年才开始生兔子#include<stdio.h> int main() {     long a[45]; //数组长度为45, 太多了,就超出范围,     int n, i;        while(scanf("%d", &n) != EOF) //输入所求的天数     {         if(n = = 0)               // n= = 0, 无意义              break;         a[0] = 1;                 // 第1天  1 对兔子         a[1] = 1;                 // 第2天  1 对兔子         a[2] = 2;                 // 第3天  1 对兔子         for(i = 3; i < n; i++)                 a[i] = a[i - 1] + a[i - 2];   //因为 一对兔子 只生 一对,所以前一天的兔子数(原有兔子数) 加上 前两天的的兔子数(所 生兔子数)   即为 今日兔子数         printf("%ld\n",a[n-1]*2);  // 程序中 是按对 计算的, 所以输出时 需乘以  2         }          return 0; }测试用例:  这个你可以写, 自己验证 代码也就  for 循环那 稍微有点 绕, 其它的到没啥再次说明: 这个程序 是按第三个月 才开始 生兔子 的, 如果从第一个月 就开始 生兔子,你可以参照上面的写出来.    望采纳!

SCP_343

百度一下,你就知道

_潇潇暮雨

这个不是典型的斐波那契数列么?
随时随地看视频慕课网APP
我要回答