RosettaCodeData/Task/100-doors/Rust/100-doors-2.rust
2018-06-22 20:57:24 +00:00

9 lines
506 B
Text

fn main() {
let doors = vec![false; 100].iter_mut().enumerate()
.map(|(door, door_state)| (1..100).into_iter()
.filter(|pass| door % pass == 0)
.map(|_| { *door_state = !*door_state; *door_state })
.last().unwrap()).collect::<Vec<_>>();
println!("{:?}", doors);
}