`

Fibonacci数列的递归与非递归

    博客分类:
  • Java
 
阅读更多
//非递归实现
//f(1)=1,f(2)=1,f(n)=f(n-1)+f(n-2)
public BigInteger f(int n){
if((1==n)||(2==n){
return new BigInteger("1");
}
Bigteger num1=new Bigteger("1");
Bigteger num2=new Bigteger("2");
Bigteger temp=new Bigteger("0");
for(int i=2;i<n;i++){
temp=num2;
num2=num1.add(num2);
num1=temp;
}
return num2;
}


//递归实现
public  BigInteger f(int n){
if((1==n)||(2==n){
return new Bigteger("1");
}
else return f(n-1).add(f(n-2));
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics