RosettaCodeData/Task/100-doors/Rust/100-doors-2.rust
2023-07-01 13:44:08 -04:00

19 lines
476 B
Text

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