# [Golang] Smallest Multiple - Problem 5 - Project Euler

Go solution to smallest multiple - Problem 5 - Project Euler. [1]

**Problem**:

2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.

What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?

**Solution**:

LCM(1, 2, 3, ..., 20) = 18044195

```
package main
import (
"fmt"
)
// greatest common divisor (GCD) via Euclidean algorithm
func GCD(a, b int) int {
for b != 0 {
t := b
b = a % b
a = t
}
return a
}
// find Least Common Multiple (LCM) via GCD
func LCM(a, b int) int {
return a * b / GCD(a, b)
}
func main() {
result := 1
for j := 2; j <= 20; j++ {
result = LCM(result, j)
}
fmt.Println(result)
}
```

Tested on Go Playground.

References:

[1] | Smallest multiple - Problem 5 - Project Euler |

[2] | [Golang] Greatest Common Divisor via Euclidean Algorithm |

[3] | LCM Calculator - Least Common Multiple |