pub fn main() { let v = vec![ (1, 31), (2, 28), (3, 31), (4, 30), (5, 31), (6, 30), (7, 31), (8, 31), (9, 30), (10, 31), (11, 30), (12, 31), ]; let all_date: Vec<(usize, usize)> = v.iter() .flat_map(|&(m, d)| (1..d).map(move |x| (m, x))) .collect(); let sum_digit = |x| (x / 10) + (x % 10); let answer = all_date.into_iter().filter(|&(m, d)| m == sum_digit(d)).count(); println!("{}", answer); }