#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//方法1 递归的方法 此方法重复计算的内容太多,不是好方法
int Fib(int n)
{
if (n <= 2)
{
return 1;
}
else
{
return Fib(n - 2) + Fib(n - 1);
}
}
int main()
{
int n = 0;
scanf("%d", &n);
int ret = Fib(n);
printf("%d\n", ret);
getchar();
getchar();
}
//方法2
int Fib(n)
{
int a = 1;
int b = 1;
int c = 1;
while (n >2)
{
c = a + b;
a = b;
b = c;
n--;
}
return c;
if (n == 1 || n == 2)
{
return 1;
}
}
int main()
{
int n = 0;
scanf("%d", &n);
int ret = Fib(n);
printf("%d", ret);
getchar();
getchar();
}