//非递归实现
//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));
}
Fibonacci数列的递归与非递归
最新推荐文章于 2023-09-12 16:44:23 发布