学习斐波那契数列

142 阅读1分钟

斐波那契数列的定义是:

起始条件

f(0) = 0 , f(1) = 1

递归规则

f(n) = f(n-1) + f(n-2)(当 n ≥ 2)。求它的第n项。

参考代码

def fibonacci(n: Int): Int = {  

  if (n == 0) {  

    0 // 起始条件  

  } else if (n == 1) {  

    1 // 起始条件  

  } else {  

    fibonacci(n - 1) + fibonacci(n - 2) // 递归规则  

  }  

}
例子(1)如下

求斐波那契额数列数据的第n项

f(1) = 1

f(2) = 2

f(n) = f(n-1) + f(n-2)

def f(n:Int):Int = {
    if(n == 1){
      1
    }else if(n==2){
      1
    } else {
      f(n-1) + f(n-2)
    }
  }



def main(args: Array[String]): Unit = {
  val rst = f(5) // 8
  println(rst)
}
例子(2)如下

求a的n次方, aaa......*a(第n个)

f(a,0) = 1

f(a,1) = a

f(a,n) =a * f(a,n-1)

def f(a:Int,n:Int):Int = {
   if(n == 0){
     1
   } else {
     a * f(a,n-1)
   }
 }



def main(args: Array[String]): Unit = {
 val rst = f(2,3) // 8
 println(rst)