while 和 for 2

32 阅读1分钟

习题

  • 1+2+3+...+19
  • 问题1:1 + 1/2 + 1/3....+1/19
  • 问题2:1 - 1/2 + 1/3 - 1/4+....+1/19
object Base22 {
  def main(args: Array[String]): Unit = {
    // 1+2+3+...+19=
    var i = 1
    var sum = 0
    while(i <= 19){
      println(i)
      sum += i
      i = i + 1
    }
    println(s"${sum}")
    // 问题1:1 + 1/2 + 1/3....+1/19
    var sum1 = 0.0  // 使用Double类型以保存小数结果
    i = 1  // 重置计数器
    while(i <= 19) {
      sum1 += 1.0 / i  // 使用1.0确保浮点除法
      i += 1
    }
    println(f"1 + 1/2 + 1/3 + ... + 1/19 = $sum1%.6f")

    // 问题2:1 - 1/2 + 1/3 - 1/4+....+1/19
    var sum2 = 0.0
    i = 1  // 重置计数器
    while(i <= 19) {
      // 奇数项为正,偶数项为负
      if (i % 2 == 1) {
        sum2 += 1.0 / i
      } else {
        sum2 -= 1.0 / i
      }
      i += 1
    }
    println(f"1 - 1/2 + 1/3 - 1/4 + ... + 1/19 = $sum2%.6f")
  }
}

判断一个数是否为素数

object Base23 {
  def main(args: Array[String]): Unit = {
    var num = 9
    var isPrime = true
    var i = 2
    while(i <= num - 1){
      if(num % i == 0){
        isPrime= false
        println(s"${num} 能被 ${i} 整除")
      }
      i += 1
      }
      if(isPrime){
      println(s"${num} 是素数")

    }else{
        println(s"${num} 不是素数")
      }
  }
}
object Base24 {
  def main(args: Array[String]): Unit = {
    var i = 0
    var money = 1.0
//    while (i < 10) {
//      money = money * 1.1
//      i = i + 1
//      println(s"第${i}年结束时,钱数为${money}")
//
//    }

     while (money <= 1000){
       money = money * 1.1
       i = i +1
       println(s"第${i}年结束时,钱数为${money}")
     }
    println(i)
  }
}

for循环

  • by : 步长,循序变量每次增加的值。默认为1
object Base25 {
  def main(args: Array[String]): Unit = {
    for(i <- 1 to 10){
      println(i)
    }

  }
}
object Base26 {
  def main(args: Array[String]): Unit = {
   var sum = 0
    for(i <- 1 to 100 by 2){
      println(i)

    }
    println(sum)

  }
}