题目:写出斐波拉契序列的非递归写法。
斐波拉契序列:
n=0 f(n)=1
n=1 f(n)=1
n>1 f(n)=f(n-1)+f(n-2)
JAVA版:
public static long fibonacci(long n)
{
long numA=0;
long numB=1;
if(n==0)
{
return numA;
}
if(n==1)
{
return numB;
}
long numN=0;
for(int i=2;i<=n;i++)
{
numN=numA+numB;
numA=numB;
numB=numN;
}
return numN;
}
递归版:
int fibonacci(int n)
{
if(n==0)
return 0;
else if(n==1)
return 1;
else
return fibonacci(n-1)+fibonacci(n-2);
}