循环

55 阅读2分钟

for循环嵌套

object Base92450 {
  def main(args: Array[String]): Unit = {
    //循环嵌套
    //多重循环,循环里面还有循环
    var n = 0
    for (i <- 1 to 10) {
      for (j <- 5 to 20) {
        for (k <- 1 to 10) {
          n += 1
          println(n, k, i, j)
        }
      }
    }
  }
}
object Base92451 {
  def main(args: Array[String]): Unit = {
  //  println("1")
  //  println("22")
  //  println("333")
  //  println("4444")
  //  println("55555")
    println()
    println()
    for (i <- 1 to 5){//控制有几行
      for (j<-1 to i){//控制具体每一行上在内容
        print(i)
      }
      println()
    }
  }
}

打印乘法口诀表

object Base92452 {
  def main(args: Array[String]): Unit = {
    for(i <-1 to 9){//行
      for (j <- 1 to i){//具体一行上的内容
        print(s"${j}×${i}=${i*j}")
        //%d是表示占位符,这要填入一个整数
        //%=4d 表示一个占位符,这里要填入一个整数,并且:一共四位,左对齐
        //j填入第一个 %d
        //i填入第二个 %d
        //i*j胡的结果填入 %-4d
        printf("%d×%d=%-4d",j,i,i*j)
      }
      println()//换行
    }
  }
}
问题导入:百鸡百钱。

“百鸡百钱”是一个经典的数学问题,最早见于中国古代数学著作《张丘建算经》。其原文如下: 鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? 翻译成现代语言: 公鸡(鸡翁)1只,价格5钱; 母鸡(鸡母)1只,价格3钱; 小鸡(鸡雏)3只,价格1钱(即1钱买3只小鸡); 用100钱买100只鸡,问公鸡、母鸡、小鸡各有多少只?

object Base33 {
  def main(args: Array[String]): Unit = {
    var k = 0
    for(gj <- 0 to 100){
      for(mj <-0 to 100){
        var xj = 100 - gj - mj
        if(xj>=0 && xj%3 == 0){//小鸡的数量不能为负且为3的倍数
          if(gj*5 + mj*3 + xj/3 == 100){//如果合计是100元
            k += 1
            println(k,gj,mj,xj)
          }
        }
      }
    }
  }
}