#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int Fibonacci_1(int);
int Fibonacci_2(int);
int main(void)
{
double n;
int p;
while (scanf("%d", &p) == 1)
{
printf("递归结果:%d\n",Fibonacci_1(p));
printf("循环结果:%d\n", Fibonacci_2(p));
}
return 0;
}
int Fibonacci_1(int n)//递归
{
int f;
if (n == 1 || n == 2)
f = 1;
else if (n > 2)
f = Fibonacci_1(n - 1) + Fibonacci_1(n - 2);
return f;
}
int Fibonacci_2(int n)//循环计算
{
int f,f1=1,f2=1, i;
if (n == 1 || n == 2)
f = 1;
else if (n > 2)
{
for (i = 3; i <= n; i++)
{
f = f1 + f2;
f1 = f2;
f2 = f;
}
}
return f;
}