1. 程式人生 > >求斐波那契數列第二十個數的幾種方式

求斐波那契數列第二十個數的幾種方式

package cn.itcast.Day20;


public class DiGuiDemo {

         //不死神兔的繁殖問題
//斐波那契數列 1,1,2,3,5,8,13...
//獲得第二十個
public static void main(String[] args) {
        //方式1:
int [] array=new int[20];
array[0]=1;
array[1]=1;
for(int i=2;i<20;i++){
array[i]=array[i-1]+array[i-2];
}
System.out.println("陣列的方式:"+array[19]);

System.out.println("-------------");

        //方式2:
int a=1;
int b=1;
for(int j=0;j<18;j++){
int temp=a;
a=b;
b+=temp;
}
System.out.println("交換變數的方式:"+b);

System.out.println("-------------");

        //方式3:
int r=digui(20);
System.out.println("遞迴的方式:"+r);
}
public static int digui(int x) {
if(x==1||x==2){
return 1;
}else{
return digui(x-1)+digui(x-2);
}

}


}