基本思想,第一个数,第二个数都是1 ,从第三个数开始,是前面两个数的和1,1,2,依次 1,1,2,3
非递归方式
/**
* 求第n个斐波那契数 1,1,2,3,5,8,13,21
*
**/
def fbn(n: Int): Int = {
if (n == 1) {
return 1
}
if (n == 2) {
return 1
}
var a = 1
var b = 1
var c = 0
for (i <- 3 to n) {
c = a + b
a = b
b = c
}
return c
}
递归实现
def fbn(n:Int): Int ={
if(n==1 || n==2) 1 else fbn(n-1)+fbn(n-2)
}
本文介绍了斐波那契数列的基本概念,提供了非递归和递归两种实现方法。非递归方式通过循环计算提高了效率,而递归方式则直观地展示了数列的生成过程。
代码实现- 递归练习-数据结构&spm=1001.2101.3001.5002&articleId=88065303&d=1&t=3&u=33c611031cac42559d0e259cb835c6df)
2万+

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



