递归函数的基本情况1.可以直接求解 2.大事化了 /*** * 递归函数:在函数中调用自己 * 注意:容易产生死循环 * * * 把大问题拆分为小问题 */ object learn1 { //求1+2+3+4+....+n-1+n,记为f(n)表示1-n的和 //f(n)=1+2+3+4+....+n-1+n //基本情况可以直接求解避免死循环发f(1)=1 //递归情况大事化小,递归求解f(n)=f(n-1)+n def getSum(n: Int): Int = { if (n == 1) { 1 } else { getSum(n - 1) * n } } def main(args: Array[String]): Unit = { var s = getSum(4) println(s) } }