题目描述:
- 有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。
- 例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。一月的时候有一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?
- 数据范围:输入满足1≤n≤31
- 输入描述:输入一个int型整数表示第n个月
- 输出描述:输出对应的兔子总数
示例:
输入:3
输出:2
思路:
递归+子函数方法,参考斐波那契数列
具体实现:
#include <stdio.h>
int num(int x)
{
if(x<3)
return 1;
else
return num(x-1)+num(x-2);
}
int main() {
int n;
while (scanf("%d", &n) != EOF)
printf("%d",num(n));
return 0;