内建控制-for循环语句

51 阅读1分钟

for循环

object Base27 {
  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)
        }
      }
    }
  }
}

image.png

object Base28 {
  def main(args: Array[String]): Unit = {
  var i=1
    for(i<-1 to 5){
      for(j<-1 to i){

        print(i)
        }
      println()
      }
    }
}

打印九九乘法表

object Base29 {
  def main(args: Array[String]): Unit = {
  var i=1
    for(i<-1 to 9){ //控制有几行
      for(j<-1 to i){ //控制具体每一行的内容
//%d是表示占位符,这儿要填入一个整数
        // %-4d表示一个占位符,这儿要填入一个整数,并且:一共4位,左对齐
        // j填入第一个%d
        // i填入第二个%d
        // i*j的结果,填入%-4d
        printf("%d×%d=%-4d ",j,i,i*j)  //不换行
        }
      println() //换行
      }
    }
}

问题导入:百鸡百钱

object Base30 {
  def main(args: Array[String]): Unit = {
//    “百鸡百钱”是一个经典的数学问题,最早见于中国古代数学著作《张丘建算经》。其原文如下:
//    鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
//    翻译成现代语言:
//    公鸡(鸡翁)1只,价格5钱;
//    母鸡(鸡母)1只,价格3钱;
//    小鸡(鸡雏)3只,价格1钱(即1钱买3只小鸡);
//    用100钱买100只鸡,问公鸡、母鸡、小鸡各有多少只?
    var k=0
    for(gj<-0 to 100){
      for(mj<-0 to 100){
        var xj=100-gj-mj
        if(xj>=0 && xj%3==0){
          if(gj*5+mj*3+xj/3==100){
            k+=1
            println(k,gj,mj,xj)
          }
        }
      }
    }
  }
}