11 lines
562 B
Markdown
11 lines
562 B
Markdown
|
We start with a value of `1`.
|
||
|
Then we multiply one after another the numbers from `1` to `20` to our value (We call these `multiplicand` in the loop).
|
||
|
|
||
|
After each multiplications we search go through the numbers from `2` to `value` and search for a number `divisor` where
|
||
|
|
||
|
- `value % divisor == 0`
|
||
|
- `(value / divisor) % {0, multiplicand} == 0`
|
||
|
|
||
|
Then (after we found such a number) we can reduce the value with it (`value /= divisor`).
|
||
|
|
||
|
The reduction steps guarantees us that we find the **smallest** number and it prevents our *Int64* numbers from overflowing
|