Fibonacci数列:
1,1,2,3,5,8,13,21,34......
第N个数的值N=(N-1)+(N-2)
求解第N个数的值
用递归法:
int fib(int n)
{
if (n<3) return(1);
else return(fib(N-2)+fib(N-1));
}
用非递归法:
int fib(int N)
{
if N<3 return(1);
int x1=1,x2=2,x3=3,a;
for(;x3<N;)
{
a=x2;
x2=x1+x2;
x1=x2-a;
x3++;
}
return(x2);
}
大家还有没有更好的方法吗?