斐波那契数列(Fibonacci sequence),指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)。
斐波那契数列可以应用于这些情况:黄金分割;杨辉三角;兔子问题。
说到兔子问题,这是因数学家莱昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……
代码实现:
循环实现
public class FibonacciSequence {
public static int fib2(int n){//循环
int f1 = 1;
int f2 = 1;
int f3 = 0;
for (int i = 3; i <= n; i++) {
f3 = f1 + f2;
f1 = f2;
f2 = f3;
}
return f3;
}
public static void main(String[] args) {
System.out.println(fib2(41));
}
}
递归实现
public class FibonacciSequence {
public static int fib(int n) {//递归
if(n == 1 || n == 2){
return 1;
}
return fib(n-1)+fib(n-2);
}
public static void main(String[] args) {
System.out.println(fib(4));
}
}
本文介绍了斐波那契数列的定义,它在黄金分割、杨辉三角和兔子问题中的应用。同时,提供了两种实现斐波那契数列的代码,一种是循环实现,另一种是递归实现。循环实现适用于效率要求较高的场景,而递归实现则更直观但可能效率较低。
565

被折叠的 条评论
为什么被折叠?



