2013-06-05 21:47:54 +00:00
|
|
|
fn main() {
|
2017-09-23 10:01:46 +02:00
|
|
|
let doors = vec![false; 100].iter_mut().enumerate()
|
2018-06-22 20:57:24 +00:00
|
|
|
.map(|(door, door_state)| (1..100).into_iter()
|
2017-09-23 10:01:46 +02:00
|
|
|
.filter(|pass| door % pass == 0)
|
|
|
|
|
.map(|_| { *door_state = !*door_state; *door_state })
|
|
|
|
|
.last().unwrap()).collect::<Vec<_>>();
|
2015-11-18 06:14:39 +00:00
|
|
|
|
2017-09-23 10:01:46 +02:00
|
|
|
println!("{:?}", doors);
|
2013-06-05 21:47:54 +00:00
|
|
|
}
|