19 lines
476 B
Text
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);
|
|
}
|