用c语言做 五、编程题1. 假设有一对兔子在出生两个月后,每个月能生出一对小兔子。现有一对刚出生的兔子,如果所有兔子都不死, 那么一年后共有多少对兔子? 请编写程序实现该问题的求解。
时间: 2024-09-14 12:11:27 浏览: 36
这是一个经典的动态规划问题,可以用递推的方式来解决。以下是C语言的简单实现:
```c
#include <stdio.h>
int rabbitPopulation(int months) {
if (months == 0 || months == 1) { // 初始阶段,只有原始的一对兔子
return 1;
} else if (months == 2) { // 第2个月,这对兔子可以生出一对新的
return 2;
} else { // 从第3个月开始,每个月的数量是上个月数量的两倍(母兔子+新生的小兔子)
return rabbitPopulation(months - 1) * 2;
}
}
int main() {
int initialMonths = 12; // 计算一年后的兔子数量
int totalRabbits = rabbitPopulation(initialMonths);
printf("一年后共有 %d 对兔子.\n", totalRabbits);
return 0;
}
```
这个程序定义了一个名为`rabbitPopulation`的函数,用于计算给定月份数的兔子总数。在`main`函数中,我们调用这个函数并传入12(代表一年)来计算最终结果。
阅读全文