基本思想,第一个数,第二个数都是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)
}