Skip to content

Commit 8bb7f3d

Browse files
committed
examples: add euler.v
1 parent 4e4d470 commit 8bb7f3d

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

examples/euler.v

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// This example shows 2 solutions for https://projecteuler.net/problem=1 :
2+
fn gauss_sum(n int) fn (int) int {
3+
return fn [n] (m int) int {
4+
return m * ((n - 1) / m) * ((n - 1) / m + 1) / 2
5+
}
6+
}
7+
8+
gs := gauss_sum(1000)
9+
println('O(1) arithmetic progression sum: ${gs(3) + gs(5) - gs(15)}')
10+
11+
// A brute force solution, by checking every n in the range:
12+
mut sum := 0
13+
for n in 1 .. 1000 {
14+
if n % 3 == 0 || n % 5 == 0 {
15+
sum += n
16+
}
17+
}
18+
println('O(n) brute force calculated sum: ${sum}')

0 commit comments

Comments
 (0)