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.




fn s35(n int) int {
    mut nn := n-1
    mut threes := nn/3
    mut fives := nn/5
    mut fifteen := nn/15
 
    threes = 3 * threes * (threes + 1)
    fives = 5 * fives * (fives + 1)
    fifteen = 15 * fifteen * (fifteen + 1)
 
    nn = (threes + fives - fifteen) / 2
 
    return nn
}
 
fn main(){
    println(s35(1000))
}