java代码实现,其中 createf1函数为递归实现,createf2函数为非递归实现
public class Fibonacci {
public static void main(String[] args){
int num=10;
int f1 = createf1(num);
int f2 = createf2(num);
System.out.println(f1);
System.out.println(f2);
}
private static int createf2(int num) {
int[] arr = new int[num];
if(num==1){
arr[0]=0;
}
else if(num==2){
arr[1]=1;
}else{
arr[0] = 0;
arr[1] = 1;
for(int i=2;i<num;i++){
arr[i]=arr[i-1]+arr[i-2];
}
}
return arr[num-1];
}
private static int createf1(int num) {
int f;
if(num==1){
f=0;
}
else if(num==2){
f=1;
}else{
f= createf1(num-1)+createf1(num-2);
}
return f;
}
}