1.递归法
#include<stdio.h>
int Fib(int n)
{
if(n<2) return n;
return Fib(n-1)+Fib(n-2);
}
int main()
{
int n;
printf("你想显示斐波那契数列到第几项?\n");
scanf("%d",&n);
printf("%d",Fib(n));
return 0;
}
2.循环法
#include<stdio.h>
int Fib(int n)
{
if(n==1||n==2) return 1;
int f1=1,f2=1,result=0,i; //存放结果
for(i=3; i<=n; ++i)
{
result=f1+f2;
f2=f1;
f1=result;
}
return result;
}
int main()
{
int n;
printf("你想显示斐波那契数列到第几项?\n");
scanf("%d",&n);
printf("%d",Fib(n));
return 0;
}