用裴波那契数列计兔子对数 c语言
时间: 2024-12-09 11:12:43 浏览: 15
斐波那契数列是一种经典的动态规划问题,它通常用于描述兔子繁殖的问题。在C语言中计算斐波那契数列的一个经典方法是通过循环或者递归。这里我们来简单介绍一种基于循环的实现,因为对于大数值的计算,递归可能会导致效率低下。
```c
#include <stdio.h>
// 使用循环计算斐波那契数列的第n项
int fibonacci(int n) {
if (n <= 0) {
return 0; // 第0项和第1项都是0
} else if (n == 1 || n == 2) {
return 1; // 第1项和第2项都是1
}
int fib = 1;
int prev_fib = 1;
for (int i = 3; i <= n; ++i) {
int temp = fib;
fib += prev_fib;
prev_fib = temp;
}
return fib;
}
int main() {
int rabbit_age = 8; // 指定兔子年龄,例如8个月后成年可以繁殖
printf("兔子在%d个月后的对数相当于斐波那契数列的第%d项\n", rabbit_age, rabbit_age + 1);
printf("The Fibonacci number at %d months is: %d\n", rabbit_age, fibonacci(rabbit_age + 1));
return 0;
}
```
在这个程序中,`fibonacci`函数计算了指定月份后的斐波那契数,而兔子在满月后就可以开始繁殖,所以我们加1来对应实际的兔子对数。在`main`函数中,用户输入的兔子年龄(这里假设为8个月)会作为参数传递给`fibonacci`函数。
阅读全文