斐波那契数列的定义是:
起始条件:
f(0) = 0 , f(1) = 1
递归规则:
f(n) = f(n-1) + f(n-2)(当 n ≥ 2)。求它的第n项。
参考代码:
def fibonacci(n: Int): Int = {
if (n == 0) {
0 // 起始条件
} else if (n == 1) {
1 // 起始条件
} else {
fibonacci(n - 1) + fibonacci(n - 2) // 递归规则
}
}
例子(1)如下:
求斐波那契额数列数据的第n项
f(1) = 1
f(2) = 2
f(n) = f(n-1) + f(n-2)
def f(n:Int):Int = {
if(n == 1){
1
}else if(n==2){
1
} else {
f(n-1) + f(n-2)
}
}
def main(args: Array[String]): Unit = {
val rst = f(5) // 8
println(rst)
}
例子(2)如下:
求a的n次方, aaa......*a(第n个)
f(a,0) = 1
f(a,1) = a
f(a,n) =a * f(a,n-1)
def f(a:Int,n:Int):Int = {
if(n == 0){
1
} else {
a * f(a,n-1)
}
}
def main(args: Array[String]): Unit = {
val rst = f(2,3) // 8
println(rst)