一、先要回答一个问题:什么是婓波那契数列?
费波那西数列(意大利语:Successione di Fibonacci),又译费波拿契数、斐波那契数列、费氏数列、黄金分割数列。
在数学上,费波那西数列是以递归的方法来定义:
• a[size=x-small]1[/size] = 1
• a[size=x-small]2[/size] = 1
• a[size=x-small]n[/size] = a[size=x-small]n-1[/size] + a[size=x-small]n-2[/size]
二、看代码:
1)第一方法:递归实现:
2)第二种方法:循环实现:
[quote]PS: 用于巩固知识
[/quote]
费波那西数列(意大利语:Successione di Fibonacci),又译费波拿契数、斐波那契数列、费氏数列、黄金分割数列。
在数学上,费波那西数列是以递归的方法来定义:
• a[size=x-small]1[/size] = 1
• a[size=x-small]2[/size] = 1
• a[size=x-small]n[/size] = a[size=x-small]n-1[/size] + a[size=x-small]n-2[/size]
二、看代码:
1)第一方法:递归实现:
public static void main(String[] args) {
for (int i = 0; i <= 10; i++) {
System.out.print(fibonacci(i));
System.out.print('\t');
}
}
public static int fibonacci(int i) {
if (i <= 1) {
return i;
}
return fibonacci(i - 2) + fibonacci(i - 1) ;
}
2)第二种方法:循环实现:
public static void main(String[] args) {
int[] arr = {0,0};
for (int i = 0; i <= 10; i++) {
int result = 0;
if (i <= 1) {
arr[i] = i;
result = i;
} else {
result = arr[0] + arr[1];
arr[0] = arr[1];
arr[1] = result;
}
System.out.print(result);
System.out.print('\t');
}
}
[quote]PS: 用于巩固知识
[/quote]