Kotlin - 如何编写代码以获得 "Sum of all divisors of an integer"

Kotlin - How to write Code to get "Sum of all divisors of an integer"

你好, 我是 Kotlin 的新手,我的任务之一是编写代码来获取整数的所有除数之和。使用哪个 Interger 并不重要。 第一种方法是使用 Imperativ 风格,第二种方法是使用函数式风格的 Collektion 函数。

我确实写过很多程序,比如简单银行、排序列表或简单电梯程序,但这些任务很混乱,因为我不是数学专家。 我的想法是创建一个像“2”这样的值,并在 For 循环或类似的循环中做一些除数。

希望我听起来不像个笨蛋。

希望你能帮助我。

感谢您付出的努力和时间。 万寿无疆

// Imperative

val number = 100

var divisorSum = 0
for (i in 1..number) {
  if (number % i == 0) {
    // divisorSum += (number / i)
    // or shorter – see @Tenfour04's comment:
    divisorSum += i
  }
}

println(divisorSum)


// Functional

val number = 100

val result = (1..number)
  .filter { number % it == 0 }
  // .sumOf { number / it }
  // or shorter – see @Tenfour04's comment:
  .sum()

println(result)