Kotlin-使用Lambda函数进行范围,映射,过滤,缩小/折叠来查找1-1000之间所有可被3或5整除的数字之和

时间:2019-03-13 16:11:56

标签: function lambda kotlin

我正在尝试使用Lambda函数查找1-1000之间的数字之和,这些数字可被3或5整除。我必须在Kotlin中完成任务。

到目前为止,我所拥有的只是:

fun divisibleByThreeOrFive () { 
}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

谈论“从 x y 的数字”使我想到了IntRange类。您可以使用rangeTo()函数以易于阅读的方式生成IntRange,也可以根据需要使用(x..y)语法。

仅谈论那些“可以被3或5整除的”,我想到了filter()函数接受谓词。

谈论这些数字的总和让我想到了sum()函数。

将所有内容放在一起,您将得到:

val sum = 1.rangeTo(1000)
    .filter { it % 3 == 0 || it % 5 == 0 }
    .sum()