一、什么是斐波那契數列
斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:1,1,2,3,5,8,13,21,34,……在數學上,斐波納契數列以如下被以遞推的方法定義:F(1)=1,F(2)=1,F(n)=F(n−1)+F(n−2)(n>=3,n∈N∗)
二、Java實現(輸出前20項)
1.循環寫法
package com.company;
class Fibonacci{
public void output(int previous , int latter , int sum){
for(int i = 1 ; i <= 18 ; i ++){
sum = previous + latter;
System.out.println("第"+(2+i)+"項是:"+sum);
previous = latter;
latter = sum;
}
}
}
public class Test {
public static void main(String[] args) {
int previous = 1;
int latter = 1;
int sum = 0;
System.out.println("第1項是:"+previous);
System.out.println("第2項是:"+latter);
Fibonacci fb = new Fibonacci();
fb.output(previous,latter,sum);
}
}
2.遞歸寫法
package com.company;
class Fibonacci{
public int output(int num){
if(num == 1 || num == 2){
return 1;
}else{
return output(num-1) + output(num-2);
}
}
}
public class Test {
public static void main(String[] args) {
Fibonacci fb = new Fibonacci();
for(int i = 1 ; i <= 20 ; i ++){
System.out.println("第"+i+"項為:"+fb.output(i));
}
}
}
輸出結果
第1項為:1
第2項為:1
第3項為:2
第4項為:3
第5項為:5
第6項為:8
第7項為:13
第8項為:21
第9項為:34
第10項為:55
第11項為:89
第12項為:144
第13項為:233
第14項為:377
第15項為:610
第16項為:987
第17項為:1597
第18項為:2584
第19項為:4181
第20項為:6765