c语言兔子序列答案,C语言例题问题 关于兔子的

c6f1ca41200f982159d2e1b3100f8453.png

Yexiaomo

我不知道 这只兔子是不是从第一年 就开始生兔子

下面的代码是 按照前两年不生兔子, 也就是 从第三年才开始生兔子#include

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 

a[i] = a[i - 1] + a[i - 2];   //因为 一对兔子 只生 一对,所以前一天的兔子数(原有兔子数) 加上 前两天的的兔子数(所 生兔子数)   即为 今日兔子数

printf("%ld\n",a[n-1]*2);  // 程序中 是按对 计算的, 所以输出时 需乘以  2

}

return 0;

}测试用例:  这个你可以写, 自己验证

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

你可能感兴趣的:(c语言兔子序列答案)