100 doors: Difference between revisions
Content added Content deleted
(Replaced needlessly verbose unoptimzed Haskell version) |
|||
Line 781: | Line 781: | ||
'''unoptimized''' |
'''unoptimized''' |
||
<lang haskell>data Door = Open | Closed deriving Show |
<lang haskell>data Door = Open | Closed deriving Show |
||
⚫ | |||
⚫ | |||
pass k = zipWith ($) (cycle $ replicate k id ++ [toggle]) |
|||
⚫ | |||
⚫ | |||
⚫ | |||
pass k [] = [] |
|||
pass k xs = ys ++ toggle (pass k) zs where (ys,zs) = splitAt k xs |
|||
run n = snd $ (!! n) $ |
|||
⚫ | |||
'''optimized''' |
'''optimized''' |