Fibonacci數列:如是:[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
f(0) = 1; f(1) = 1; f(n) = f(n-1)+f(n-2) n>1;
1 import java.util.Arrays; 2 3 public class Test { 4 5 public static void main(String[] args) { 6 Test test = new Test(); 7 int n = 15; 8 int[] fibonacciArray = new int[n]; 9 for (int i = 0; i < n; i++) { 10 fibonacciArray[i] = test.fibonacci(i);//將n處的值存入數組中 11 } 12 System.out.println(Arrays.toString(fibonacciArray)); 13 } 14 15 //遞歸求解n處的值 16 private int fibonacci(int n){ 17 if(n==0||n==1){ 18 return 1; 19 } 20 else if(n>1){ 21 return fibonacci(n-1)+fibonacci(n-2); 22 } 23 else{ 24 return 0; 25 } 26 } 27 }
輸出:
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]
1 //普通循環求解 2 int n1 = 15; 3 for(int i = 0; i<n1; i++){ 4 if(i==0 || i==1){ 5 fibnacciArray1[i] = 1; 6 } 7 else{ 8 fibnacciArray1[i] = fibnacciArray1[i-1]+fibnacciArray1[i-2]; 9 } 10 } 11 System.out.println(Arrays.toString(fibnacciArray1));
輸出:
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]