基本思想,第一个数,第二个数都是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)
}
斐波那契数列的非递归与递归实现
本文介绍了斐波那契数列的基本概念,提供了非递归和递归两种实现方法。非递归方式通过循环计算提高了效率,而递归方式则直观地展示了数列的生成过程。
2万+

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



