标签: function lambda kotlin
我正在尝试使用Lambda函数查找1-1000之间的数字之和,这些数字可被3或5整除。我必须在Kotlin中完成任务。
到目前为止,我所拥有的只是:
fun divisibleByThreeOrFive () { }
任何帮助将不胜感激。
答案 0 :(得分:3)
谈论“从 x 到 y 的数字”使我想到了IntRange类。您可以使用rangeTo()函数以易于阅读的方式生成IntRange,也可以根据需要使用(x..y)语法。
IntRange
rangeTo()
(x..y)
仅谈论那些“可以被3或5整除的”,我想到了filter()函数接受谓词。
filter()
谈论这些数字的总和让我想到了sum()函数。
sum()
将所有内容放在一起,您将得到:
val sum = 1.rangeTo(1000) .filter { it % 3 == 0 || it % 5 == 0 } .sum()