- module SumOfMultiples
-
- let isMultiple factors number =
- List.fold (fun a x -> (a || number % x = 0)) false factors
-
- let sum (factors: int list) (upperBound: int): int =
- let goodFactors = List.filter (fun i -> i <> 0) factors
- let numbers = [ for i in 1..(upperBound - 1) -> i]
- List.sum (List.filter (fun el -> isMultiple goodFactors el) numbers)
|