求斐波那契數列第二十個數的幾種方式
阿新 • • 發佈:2018-12-25
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]);
//方式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);
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);
}
}
}
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("-------------");
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);
}
}
}