java斐波那契數列
Ⅰ java語言用數組輸出Fibonacci數列:1 1 2 3 5 8 13....前20
方法如下供參考:
publicclassTest{
publicstaticvoidmain(String[]args){
intintArrary[]=newint[20];
intArrary[0]=intArrary[1]=1;
for(inti=2;i<intArrary.length;i++){
intArrary[i]=intArrary[i-1]+intArrary[i-2];
}
System.out.println("Fibonacci數列:11235813....前20如下所示:");
for(inti=0;i<intArrary.length;i++){
if(i%5==0)
System.out.println();
System.out.print(intArrary[i]+" ");
}
}
}
Ⅱ 用JAVA數組來求斐波那契數列前20項: 1 1 2 3 5 8 ….
publicclassDemo{
publicstaticvoidmain(String[]args){
intn=20;
intsum=0;
for(inti=1;i<=n;i++){
System.out.print(fibo(i)+" ");
sum+=fibo(i);
}
System.out.println(" 菲波那契數列的前20項和為:"+sum);
}
privatestaticintfibo(intn){
if(n==1)
return1;
if(n==2)
return1;
returnfibo(n-1)+fibo(n-2);
}
}
數組法:
publicclassDemo{
publicstaticvoidmain(String[]args){
int[]array=newint[20];
array[0]=1;
array[1]=1;
intsum=0;
for(inti=2;i<array.length;i++){
array[i]=array[i-1]+array[i-2];
}
//遍歷數組並累計
for(inti=0;i<array.length;i++){
sum+=array[i];
}
//輸出和
System.out.println(" 菲波那契數列的前20項和為:"+sum);
}
}
Ⅲ 如何用java語言輸出斐波那契數列
Java編程:三種方法實現斐波那契數列
其一方法:
publicclassDemo2{
//定義三個變數方法
publicstaticvoidmain(String[]args){
inta=1,b=1,c=0;
System.out.println("斐波那契數列前20項為:");
System.out.print(a+" "+b+" ");
//因為前面還有兩個1、1所以i<=18
for(inti=1;i<=18;i++){
c=a+b;
a=b;
b=c;
System.out.print(c+" ");
if((i+2)%5==0)
System.out.println();
}
}
}
java編程:三種方法實現斐波那契數列
其二方法:
publicclassDemo3{
//定義數組方法
publicstaticvoidmain(String[]args){
intarr[]=newint[20];
arr[0]=arr[1]=1;
for(inti=2;i<arr.length;i++){
arr[i]=arr[i-1]+arr[i-2];
}
System.out.println("斐波那契數列的前20項如下所示:");
for(inti=0;i<arr.length;i++){
if(i%5==0)
System.out.println();
System.out.print(arr[i]+" ");
}
}
}
Java編程:三種方法實現斐波那契數列
其三方法:
publicclassDemo4{
//使用遞歸方法
privatestaticintgetFibo(inti){
if(i==1||i==2)
return1;
else
returngetFibo(i-1)+getFibo(i-2);
}
publicstaticvoidmain(String[]args){
System.out.println("斐波那契數列的前20項為:");
for(intj=1;j<=20;j++){
System.out.print(getFibo(j)+" ");
if(j%5==0)
System.out.println();
}
}
}
同一道題用各種不同的思路去思考解決,也是對知識綜合運用的鍛煉。
Ⅳ 08《演算法入門教程》遞歸演算法之斐波那契數列
本節內容是遞歸演算法系列之一:斐波那契數列遞歸求解,主要介紹了斐波那契數列的定義,然後用遞歸的實現思想分析了一下斐波那契數列,最後給出了基於 Java 代碼應用遞歸思想實現斐波那契數列的代碼實現及簡單講解。
斐波那契數列(Fibonacci sequence),也稱之為黃金分割數列,由義大利數學家列昂納多・斐波那契(Leonardo Fibonacci)提出。斐波那契數列指的態祥是這樣的一個數列:1、1、2、3、5、8、13、21、34、……,這個數列從第 3 項開始,每一項都等於前面兩項之和。在數學上,斐波那契數列可以被遞推的方法定義如下:
斐波那契數列是數學上面一個經典的例子,並且在日常生活中有很多應用,他還與黃金分割有著密不可分的聯系,而且當 n 趨向於無窮大時,前一項與後一項的比值越來越逼近黃金分割值 0.618。
在這一節中,我們就需要利用遞歸的思想去求解斐波那契數列,當給出一個斐波那契中第幾項的數字,然後求解出對應的斐波那契數值。在之前,我們已經定義了遞歸演算法的相關概念,並且明確了需要應用遞歸時候的三要素:
接下來,我們將利用遞歸的知識來解決斐波那契數列問題,明確在斐波那契數列求解問題中的遞歸三要素分別是什麼。
例如,當我們求解斐波那契數列中的 F (5) 時,按照定義,我們有:
在說明斐波那契數列的段鬧遞歸描述之後,我們看握閉罩看如何用 Java 代碼來實現對斐波那契數列的計算。
運行結果如下:
代碼中的第 4 行至第 8 行分別調用斐波那契數列計算函數,計算出斐波那契數列中對應 n=1,2,3,4,5 時斐波那契數列的取值,進行結果比較,判斷斐波那契數列程序實現是否正確。代碼中的第 12 行至第 20 行是斐波那契數列應用遞歸方法進行斐波那契數列的計算,按照遞歸的三要素進行計算處理。
本節主要介紹了用遞歸思想求解斐波那契數列,在學完本節課程之後,我們了解到了什麼是斐波那契數列,並且將遞歸演算法在斐波那契數列中進行了實際應用,需要掌握斐波那契數列的遞歸求解方法,並自己可以實現相關的代碼實現,並清楚裡面的每一步邏輯。