exercism/
sum_of_multiples.rs

1pub fn sum_of_multiples(limit: u32, factors: &[u32]) -> u32 {
2    // let mut numbers: Vec<u32> = vec![];
3    //
4    // for item in factors {
5    //     if *item == 0 {
6    //         continue;
7    //     }
8    //
9    //     for i in 0..limit {
10    //         if i % item == 0 && !numbers.contains(&i){
11    //             numbers.push(i);
12    //         }
13    //     }
14    // }
15    //
16    // numbers.iter().sum()
17
18    (1..limit)
19        .filter(|i| factors.iter().any(|&f| f != 0 && i % f == 0))
20        .sum()
21}