作业

29 阅读1分钟

image.png

1
def isLeapYear(year: Int): Boolean = {
  (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)
}
2
def calculateF(n: Int): Double = {
  (1 to n).map(i => if (i % 2 == 1) 1.0 / i else -1.0 / i).sum
}

// 调用示例:求f(100)的值
val result2 = calculateF(100)
println(result2)
3
def fibonacci(n: Int): List[Int] = {
  if (n == 1) List(1)
  else if (n == 2) List(1, 1)
  else {
    val fibs = scala.collection.mutable.ListBuffer(1, 1)
    for (i <- 2 until n) {
      fibs += fibs(i - 1) + fibs(i - 2)
    }
    fibs.toList
  }
}
// 调用示例:求斐波那契数列前20项
val result3 = fibonacci(20)
result3.foreach(println)
4
import scala.io.StdIn

def inputUntilLeapYear(): Unit = {
  var year = 0
  do {
    print("请输入一个整数年份:")
    year = StdIn.readInt()
  } while (!((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)))
  println(s"输入的闰年是:$year")
}

// 调用示例
inputUntilLeapYear()
5

def adjustScores(scores: List[Double]): List[Double] = { scores.map(score => if (score >= 56 && score <= 59) 60.0 else score) }

// 调用示例:处理给定成绩列表 val originalScores = List(100.0, 51.0, 56.0, 67.0, 59.0, 89.0) val result5 = adjustScores(originalScores) result5.foreach(println)