得到Kotlin中的数字因素

时间:2017-10-31 07:59:10

标签: python kotlin

Kotlin全新,如何找到数字的因素?

例如24应该给出1,2,3,4,6,8,12,24?

我知道如何使用列表解析来执行此python但不知道如何在Kotlin中正确执行此操作。

1 个答案:

答案 0 :(得分:1)

不确定如何在Kotlin中执行“列表理解”,而是可以使用下面factorsOfNumbers之类的函数:

fun factorsOfNumber(num: Int) : MutableList<Int> {
  val factors = mutableListOf<Int>()
  if (num < 1) 
    return factors
  (1..num / 2)
    .filter { num % it == 0 }
    .forEach { factors.add(it) }
  factors.add(num)
  return factors
}

fun main(args: Array<String>) {
  val number = 24
  println("The factors of $number are: " + factorsOfNumber(number).joinToString())
}

<强>输出:

The factors of 24 are: 1, 2, 3, 4, 6, 8, 12, 24

了解其工作原理的相关文档如下: