斐波納契數列,又稱黃金分割數列,指的是這樣壹個數列:1、1、2、3、5、8、13、21、……在數學上,斐波納契數列以如下被以遞歸的方法定義:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。
以下是Java代碼實現(遞歸與遞推兩種方式):
import?java.util.Scanner;
public?class?Fibonacci?{
public?static?void?main(String[]?args)?{
Scanner?scanner?=?new?Scanner(System.in);
System.out.println("Please?input?this?fibonacci?n:");
int?n?=?scanner.nextInt();?//?假設輸入為大於零的整數
System.out.println(fibonacci(6)?+?":"?+?fibonacciNormal(6));
int?sum?=?0;
for(int?i?=?1;?i?<=?n;?i++){
sum?+=?fibonacci(i);
}
System.out.println(sum);
}
//?遞歸實現方式
public?static?int?fibonacci(int?n){
if(n?<=?2){
return?1;
}else{
return?fibonacci(n-1)?+?fibonacci(n-2);
}
}
//?遞推實現方式
public?static?int?fibonacciNormal(int?n){
if(n?<=?2){
return?1;
}
int?n1?=?1,?n2?=?1,?sn?=?0;
for(int?i?=?0;?i?<?n?-?2;?i?++){
sn?=?n1?+?n2;
n1?=?n2;
n2?=?sn;
}
return?sn;
}
}