Kotlin: Lambdas, range, map, filter and reduce/fol

2019-10-17 16:24发布

问题:

Using the functions such as lambdas, range, map, filter and reduce/fold, calculate the sum of numbers between 1 and 1000 which are divisible by 5 or 3 and print the result.

回答1:

We can do the following:

println((1..1000).filter{ it % 3 == 0 || it % 5 == 0 }.reduce{sum, element -> sum + element})

Instead of reduce we could use sum as well which would look like this:

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