object Base45 {
def f():Unit = {
println("f.....被调用了")
f()
}
def main(args: Array[String]): Unit = {
f()
println("over")
}
}
输出结果
递归函数:自己调用自己的函数适合用来解决一类问题
- 可以被分解为类似子问题
- 当分解到足够小的时候,问题可以直接求解
object fwh27 {
def f(n:Int):Int = {
if(n == 1)
1
else
f(n-1) + n
}
def main(args: Array[String]): Unit = {
val rst = f(100)
println(rst)
}
}
递归是一种常用的解决问题的方法,特别适用于解决可以被分解为类似子问题的问题。递归函数通常由两个主要部分组成:起始条件(或基线条件)和递归关系。
起始条件:一个递归的终止条件,确保递归不会无限进行。它会直接返回结果。
递归规则:在这个部分,函数会调用自身,以解决一个更小的子问题。