题目10:斐波那契数列
斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波那契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)
,用文字来说,就是斐波那契数列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加
思路
一. 基于递归
当追求代码的简洁性,且递归的次数没有足够大时,使用递归
二. 基于循环
当追求代码的时间效率,那么使用循环会更好。基于递归的斐波那契数列在每次计算的时候都存在重复的计算,其时间复杂度会随着n的增加以指数的方式递增。并且,使用递归可能会引起调用栈溢出的问题。
代码实现
1 | public class _10 { |
输出:
1 | 基于递归: |