1.递归法
#include<stdio.h>
#include<windows.h>
int fib(int n)
{if(n<=2)
return 1;
else
return fib(n-1)+fib(n-2);
}
int main()
{int n=0;
printf("请输入n");
scanf("%d\n",&n);
system("pause");
return 0;
}
2.非递归法
#include<stdio.h>
#include<windows.h>
int fib(int n)
{int a1=1;
int a2=1;
int a3=0;
if(n<=2)
return 1;
else
{while(n>2)
{a3=a1+a2;
a1=a2;
a2=a3;
n--;
}
}
return a3;
}