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 循环那 稍微有点 绕, 其它的到没啥再次说明: 这个程序 是按第三个月 才开始 生兔子 的, 如果从第一个月 就开始 生兔子,你可以参照上面的写出来. 望采纳!