递归

1、递归

def fact(n: Int): Int = {
      if (n == 0) return 1
      return fact(n - 1) * n
    }
println(fact(5))

 

2、尾递归

def tailFact(n: Int): Int ={
      //如果是尾递归加入@tailrec注解不会报错
      @tailrec
      def loop(n: Int, result: Int): Int = {
        if (n == 0) return result
        loop(n - 1, result * n)
      }
      loop(n, 1)
    }
    println(tailFact(5))

 

posted @ 2022-04-26 19:58  小王同学学编程  阅读(18)  评论(0)    收藏  举报
levels of contents