weixin_55358132 2021-02-16 15:09 采纳率: 0%
浏览 10

怎么在Scala里求一个数的最简因子的列表?

题目大意:input为一个任意数,然后最后返回这个数所有的最简因子的list。如输入input Int 36会返回Ints list:[2,2,3,3].

附加条件:当input小于或等于0 和1时,直接返回空集;返回值的列表(list)里不包含1.

 

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-24 11:57
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    import scala.collection.mutable.ListBuffer
    
    object Main {
      def main(args: Array[String]): Unit = {
        println(s"请输入一个正整数")
        val input = scala.io.StdIn.readInt()
        if (input <= 0 || input == 1) {
          println("结果为空集")
          return
        }
        val factors = getFactors(input)
        factors.foreach(println)
      }
    
      def getFactors(num: Int): List[Int] = {
        var factorList = new ListBuffer[Int]
        for(i <- 1 to num){
          if(num % i == 0 && i != 1){
            factorList += i
          }
        }
        factorList.toList
      }
    }
    
    评论

报告相同问题?