-
**函数
f(a: Int, n: Int): Int**该函数通过递归方式计算a的n次方,核心逻辑为:- 递归终止条件:当
n == 0时,返回1(任何数的 0 次方都为 1)。 - 递归逻辑:当
n > 0时,a的n次方 = a * a的(n-1)次方,即a * f(a, n-1)。
- 递归终止条件:当
-
**主函数
main**调用f(2, 3)计算2的3次方,结果为8,并通过println输出。
object base41 {
/*
* 写函数,完成功能:计算a的n次方
* 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 s = f(2,3)
println(s)// 8
}
}
object base42 {
/*
* 汉诺塔游戏
*
*/
// A: 起点,C表示终点,B表示可以借用的柱子
def f(n: Int, A: String, C: String, B: String): Unit = {
if (n == 1) {
println(s"${A} -> ${C}")
} else {
f(n - 1, A, B, C)
println(s"${A} -> ${C}")
f(n-1,B,C,A)
}
}
def main(args: Array[String]): Unit = {
f(5, "A", "C", "B")
}
}