#include <stdio.h>
//兔子繁殖问题
/*
* 问题描述:
* 有一对小兔子,从出生起第3个月起每个月都生一对小兔子.
* 小兔子长到三个月后每个月又生一对兔子,按此规律,设第一个月有一对刚出生的兔子,
* 问第n个月后有多少对兔子.
*
* 1.分析
* 第一个月-第10个月: 1 1 1 2 3 5 8 13 21 34
* 2.找规律,发现从第4个月开始 有递推表达式 f(n)=f(n-1)+f(n-2) n>3
*
* 3.确定使用递归解决问题 (你可以理解为这是一个解决递归问题的模板)
* 1.递归函数定义 int f(int n)
* 2.递推表达式 f(n)=f(n-1)+f(n-2)
* 3.递归终止条件 if(n==1||n==2||n==3) return 1;
* 4.上手写代码
*/
int f(int n)
{
if (n==1||n==2||n==3)
return 1;
return f(n-1)+f(n-2);
//调用函数时才是完整的递归表达式,f(int n)=f(n-1)+f(n-2) ---> f(n)=f(n-1)+f(n-2
}
int main()
{
int n;
scanf("%d",&n);
int i = f(n);
printf("第%d个月有%d对兔子
",n,i);
}