斐波那契数列:1、1、2、3、5、8、13、21、34、…… 即前两个数的和为当前数。
1 非递归实现
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int a = 0, b = 1, ret = 1;
int n = scanner.nextInt();
for (int i = 3; i <= n; i++) {
a = b;
b = ret;
ret = a + b;
}
System.out.println(ret);
}
scanner.close();
}
2 递归实现
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int n = scanner.nextInt();
System.out.println(F(n));
}
scanner.close();
}
public static int F(int n) {
if (n > 2) {
return F(n - 1) + F(n - 2);
}
return 1;
}
递归的要点:1.初始状态;2.自己调用自己;3.终止条件。
斐波那契数列的递归与非递归实现

本文深入探讨了斐波那契数列的两种实现方式:非递归实现和递归实现。非递归实现通过循环结构避免了递归带来的性能开销,而递归实现则简洁地展示了数列的生成过程,但可能在大数据量下导致性能问题。
759





