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}