迭代法:求Fibonacci数列第n项时虽然要用到前面两项的值,但它们仅作为临时计算的中间值,不作为结果输出,因此无保留的必要,完全可以转化成迭代法求解
public int Fib(int n)
{
int a=0,b=1,c=0;
if(n<=1){//n小于等于1时,直接返回n
return n;
}
else {
for(int i=2;i<n;i++)//从2开始循环迭代至n
{
c=a+b;
a=b;
b=c;
}
return c;
}
}
迭代法:求Fibonacci数列第n项时虽然要用到前面两项的值,但它们仅作为临时计算的中间值,不作为结果输出,因此无保留的必要,完全可以转化成迭代法求解
public int Fib(int n)
{
int a=0,b=1,c=0;
if(n<=1){//n小于等于1时,直接返回n
return n;
}
else {
for(int i=2;i<n;i++)//从2开始循环迭代至n
{
c=a+b;
a=b;
b=c;
}
return c;
}
}