在斐波那契數列中,下一個數位是前兩個數位的總和,例如:0
,1
,1
,2
,3
,5
,8
,13
,21
,34
,55
等。斐波那契數列的前兩個數位是0
和1
,第三個數位是前兩個數位的和,也就是 0+1=1
,所以這裡第三個數位的值是 1
。
在java中有兩種方式編寫斐波那契數列(fibonacci)程式:
下面讓我們來看看在不使用遞迴實現斐波那契數列的java程式。
class FibonacciExample1 {
public static void main(String args[]) {
int n1 = 0, n2 = 1, n3, i, count = 10;
System.out.print(n1 + " " + n2);// printing 0 and 1
for (i = 2; i < count; ++i)// loop starts from 2 because 0 and 1 are
// already printed
{
n3 = n1 + n2;
System.out.print(" " + n3);
n1 = n2;
n2 = n3;
}
}
}
執行上面程式碼,得到如下結果 -
0 1 1 2 3 5 8 13 21 34
下面看看使用遞迴實現斐波那契數列的java程式。
class FibonacciExample2 {
static int n1 = 0, n2 = 1, n3 = 0;
static void printFibonacci(int count) {
if (count > 0) {
n3 = n1 + n2;
n1 = n2;
n2 = n3;
System.out.print(" " + n3);
printFibonacci(count - 1);
}
}
public static void main(String args[]) {
int count = 10;
System.out.print(n1 + " " + n2);// printing 0 and 1
printFibonacci(count - 2);// n-2 because 2 numbers are already printed
}
}
執行上面程式碼,得到如下結果 -
0 1 1 2 3 5 8 13 21 34