函数的调用

47 阅读1分钟
object Base37 {
 def f():Unit = {
   println("f/.....被调用了")
   f()
 }
  def main(aegs:Array[String]):Unit = {
    f()
    println("over")
  }
}

递归

由起始条件和递归关系

object Base38 {
 def f(n:Int):Int = {
   if(n == 1)
     1
   else
     f(n-1) +n
 }
  def main(aegs:Array[String]):Unit = {
    val rst= f(100)
    println(rst)
  }
}
object Base39 {
 def f(n:Int):Int = {
   if(n == 1) {
     1
   } else {
     f(n-1) +n
   }
 }
  def main(aegs:Array[String]):Unit = {
    val rst= f(4)
    println(rst)
  }
}

image.png

object Base40 {
 def f(n:Int):Int = {
   if(n == 1) {
     1
   } else if(n == 2){
     2
   } else {
    f(n-1) + f(n-2)
   }
 }
  def main(aegs:Array[String]):Unit = {
    val rst= f(10)
    println(rst)
  }
}

image.png

object Base41{
def f(n:Int,A:Char,B:Char,C:Char):Unit = {
  if(n == 1){
    println(s"${A} ---> ${C}")
  }else {
    f(n-1,A,C,B)
    println(s"${A}---> ${C}")
    f(n-1,B,A,C)
  }
}
def main(args:Array[String]):Unit = {
  f(4,'A','B','C')
   }
}