斐波那契数列
1.斐波那契数列的定义是:
2.起始条件:f(0) = 0 , f(1) = 1
3.递归规则:f(n) = f(n-1) + f(n-2)(当 n ≥ 2)。求它的第n项。
4.求斐波那契数列数据的第n项
object base34 {
def f(n:Int):Int={
if(n==1){
1
}
else if(n==2){
2
}else{
f(n-1)+f(n-2)
}
}
def main(args: Array[String]): Unit = {
val rst=f(5)
println(rst)
}
}
4.求a的n次方。
object base35 {
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)
println(rst)
}
}
5.汉诺塔 递归
object base36 {
var i = 1;
def hanoi(n: Int, A: String, C: String, B: String): Unit = {
if (n == 1) {
println(s"$i, move 1 from $A -> $C")
i += 1
} else {
hanoi(n - 1, A, B, C)
println(s"$i, move $n from $A -> $C")
i += 1
hanoi(n - 1, B, C, A)
}
}
def main(args: Array[String]): Unit = {
hanoi(4, "A", "C", "B")
}
}