2016-05-12 22:26:52 -04:00
|
|
|
module SumOfMultiples exposing (..)
|
2015-10-13 11:23:46 -07:00
|
|
|
|
2016-03-16 21:38:51 -04:00
|
|
|
|
2015-10-13 11:23:46 -07:00
|
|
|
sumOfMultiples : List Int -> Int -> Int
|
2016-03-16 21:38:51 -04:00
|
|
|
sumOfMultiples multiples limit =
|
2016-12-17 17:15:34 -05:00
|
|
|
List.sum (List.filter (inMultiples multiples) (List.range 1 (limit - 1)))
|
2016-03-16 21:38:51 -04:00
|
|
|
|
2015-10-13 11:23:46 -07:00
|
|
|
|
2016-03-16 21:38:51 -04:00
|
|
|
inMultiples : List Int -> Int -> Bool
|
|
|
|
inMultiples multiples candidate =
|
2016-06-19 17:46:13 -04:00
|
|
|
List.any (\factor -> candidate % factor == 0) multiples
|