RosettaCodeData/Task/100-doors/YAMLScript/100-doors.ys
2025-02-27 18:35:13 -05:00

14 lines
374 B
Text

!YS-v0
defn main():
open =:
reduce _ vec([true] * 100) (1 .. 100):
fn(doors i):
loop j i, doors doors:
if j < 100:
recur (j + i).++:
update-in doors [j]: \(doors.$j.!)
else: doors
say: -"Open doors after 100 passes:\ " +
(1 .. 100).map(\(_.--:open && _))
.filter(a).join(', ')