习题

23 阅读1分钟

第一题:求s=1-1/2+1/3-1/4+1/5-1/6+.....+1/19


object Base22 {
  def main(args: Array[String]): Unit = {
    //s=1+2+3......+19
    //var i=1
    //var sum=0
    //while(i<=19){
    //  sum=sum+i
    //i+=1
    // }

    //println(sum)
    //s=1+1/2+1/3+1/4+1/5+1/6+.....+1/19
    //    var i = 1.0
    //    var sum = 0.0
    //    while (i <= 19) {
    //      sum = sum + 1.0/i
    //      i +=1
    //
    //      println(s"$sum")
    //    }
    //s=1-1/2+1/3-1/4+1/5-1/6+.....+1/19
//    var i = 1.0
//    var sum = 0.0
//    while (i <= 19) {
//      sum = sum + 1.0 / i
//      i += 1
//    }
//
//    if (i % 2 == 1) {
//      sum += 1.0 / i // 奇数项加
//    } else {
//      sum -= 1.0 / i // 偶数项减
//    }
//    i += 1
//  }
//
//  println(s" $sum")
    var i = 1.0
    var sum = 0.0
    while (i <= 19) {
      // 根据i的奇偶性决定加减
      if (i % 2 == 1) {
        sum += 1.0 / i  // 奇数项加
      } else {
        sum -= 1.0 / i  // 偶数项减
      }
      i += 1
    }
    println(s"数列的和为: $sum")

  }
}

第二题:判断是否素数

  • 思路:
  • 1.假设他是一个素数
  • 2.循环:使用2,3,4...num-1去除num,如果能被整除.说明不是素数
  • 3.循环结束,输出结果
    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}不是素数")
    }
  }
}

第三题:假设一个人的年化投资回报率是10%,也就是说投入1块钱之后:

  • 第一年结束有1.1元,计算过程:1*(1+10%)=1.1
  • 第一年结束有1.21元,计算过程:1.1*(1+10%)=1.21
    • 第一年结束有1.21元,计算过程:21*(1+10%)=1.331
  • 求 :①第十年结束有多少钱?
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}")
    }

  }
}
  • ②:多少年后能超过1000元?
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}")
  }

}
}