object sss012 {
def f():Unit = {
println("f.....被调用了")
f()
}
def main(args:Array[String]):Unit = {
f()
println("over")
}
}
1递归函数的定义和格式
递归是一种常用的解决问题的方法,特别适用于解决可以被分解为类似子问题的问题。递归函数通常由两个主要部分组成:起始条件(或基线条件)和递归规则(或递归关系)。
1计算累加
起始条件:f(1) = 1
递归规则:f(n)= n + f(n-1)
def factorial(n: Int): Int = {
if (n == 0) {
1 // 起始条件
} else {
n + factorial(n - 1) // 递归规则
}
}
object sss013 {
def f(n:Int):Int = {
if(n == 1){
1
} else {
f(n-1) + n
}
}
def main(args:Array[String]): Unit ={
val rst = f(4)
println(rst)
}
}
3整数的阶乘
起始条件:0! = 1
递归规则:n! = n * (n-1)!
def factorial(n: Int): Int = {
if (n == 0) {
1 // 起始条件
} else {
n * factorial(n - 1) // 递归规则
}
}