C语言有一对免子,从出生后第3个月开始,每个月都生一对免子,小兔子长到第3个月后每个月又生一对免子,假如免子都不死,请问第20个月免子总 数为多少?请编写一个递归函数。
时间: 2023-10-16 22:17:43 浏览: 171
两种算法实现求每个月的兔总数-Java.txt
这是一个经典的斐波那契数列问题,可以使用递归函数来解决。
递归函数的实现如下:
```c
int fibonacci(int n){
if (n <= 0)
return 0;
else if (n == 1 || n == 2)
return 1;
else
return fibonacci(n-1) + fibonacci(n-2);
}
```
其中,当 n 小于等于 0 时,返回 0;当 n 等于 1 或 2 时,返回 1;否则,返回前两个斐波那契数的和。
根据题目,我们需要求出第 20 个月的免子总数,即 fibonacci(20)。
调用函数并输出结果:
```c
printf("%d", fibonacci(20));
```
输出结果为:
```
6765
```
因此,第 20 个月的免子总数为 6765。
阅读全文