Task

The objective is to write a function that finds the sum of all positive multiples of 3 or 5 below n.

Show output for n = 1000.

This is is the same as Project Euler problem 1.

Extra credit: do this efficiently for n = 1e20 or higher.




func sumMul(n, f) {
    var m = int((n - 1) / f)
    f * m * (m + 1) / 2
}
 
func sum35(n) {
    sumMul(n, 3) + sumMul(n, 5) - sumMul(n, 15)
}
 
for i in (1..20) {
    printf("%2s:%22s %s\n", i, 10**i, sum35(10**i))
}