题目:有一对兔子,从出生后第三个月开始每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数是多少?
3 回答
已采纳
Yexiaomo
TA贡献152条经验 获得超157个赞
我不知道 这只兔子是不是从第一年 就开始生兔子 下面的代码是 按照前两年不生兔子, 也就是 从第三年才开始生兔子
#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 循环那 稍微有点 绕, 其它的到没啥
再次说明: 这个程序 是按第三个月 才开始 生兔子 的, 如果从第一个月 就开始 生兔子,你可以参照上面的写出来.
望采纳!
- 3 回答
- 0 关注
- 1858 浏览
添加回答
举报
0/150
提交
取消