package org.lza;
/*
* 菲波拉契数列的递归实现和非递归实现
*/
public class Feibo {
public static void main(String args[]){
for(int i=1;i<=20;i++)
System.out.print(Febo2(i)+",");
}
/*
* Febo()递归实现
*/
public static int Febo(int n){
if(n<=2)
return n;
else
return Febo(n-1)+Febo(n-2);
}
/*
* Febo()非递归实现
*/
public static int Febo2(int n){
int result=0; //为返回的结果
int f1=1;
int f2=2;
if(n<=2)
result=n;
for(int i=3;i<=n;i++){
result=f1+f2;
f1=f2;
f2=result;
}
return result;
}
}
/*
* 菲波拉契数列的递归实现和非递归实现
*/
public class Feibo {
public static void main(String args[]){
for(int i=1;i<=20;i++)
System.out.print(Febo2(i)+",");
}
/*
* Febo()递归实现
*/
public static int Febo(int n){
if(n<=2)
return n;
else
return Febo(n-1)+Febo(n-2);
}
/*
* Febo()非递归实现
*/
public static int Febo2(int n){
int result=0; //为返回的结果
int f1=1;
int f2=2;
if(n<=2)
result=n;
for(int i=3;i<=n;i++){
result=f1+f2;
f1=f2;
f2=result;
}
return result;
}
}
本文介绍了菲波拉契数列的递归和非递归实现方法,通过实例展示了两种不同算法的实现过程,帮助读者理解数列生成的不同策略。

4137

被折叠的 条评论
为什么被折叠?



