Scala之遞歸的兩個小練習

1. 求斐波那契數
package com.atguigu.chapter05.fun

import scala.io.StdIn

object Exercise01 {
  def main(args: Array[String]): Unit = {
    // 斐波那契
    println("請輸入n的值:")
    val n: Int = StdIn.readInt()
    var res: Int = fabonaqi(n)
    println("res=" + res)
  }

  def fabonaqi(n: Int): Int ={
    if(n == 1 || n == 2) {
      return 1
    }
    return fabonaqi(n - 1) + fabonaqi(n - 2)
  }
}

2. 求函數值
package com.atguigu.chapter05.fun

import scala.io.StdIn

object Exercise02 {
  def main(args: Array[String]): Unit = {
    // 已知f(1)=3;f(n)=2*f(n-1)+1;
    println("請輸入n的值:")
    val n: Int = StdIn.readInt()
    val res = getRes(n)
    println("結果爲:" + res)
  }

  // 求函數值
  def getRes(n: Int): Int ={
    if(n == 1){
      return 3
    }
    return 2 * getRes(n - 1) + 1
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章