100 doors: Difference between revisions

Content deleted Content added
Tromp (talk | contribs)
INGY (talk | contribs)
Line 14,973: Line 14,973:


defn main():
defn main():
say:
say: |-
"Open doors after 100 passes:
Open doors after 100 passes:
$(apply str interpose(\", \" open-doors()))"
$(apply str interpose(', ' open-doors()))


defn open-doors():
defn open-doors():
for: .[[d n] map(vector doors() iterate(inc 1)) :when d] n
for [[d n] map(vector doors() iterate(inc 1)) :when d]:
n


defn doors():
defn doors():
reduce:
reduce:
fn [doors idx]: assoc(doors idx true)
fn(doors idx): assoc(doors idx true)
into []: repeat(100 false)
into []: repeat(100 false)
map \(dec (% * %)): 1..10
map \(dec (%1 * %1)): 1 .. 10
</syntaxhighlight>
</syntaxhighlight>
{{out}}
{{out}}