Equilibrium index: Difference between revisions

Content added Content deleted
(→‎{{header|Wren}}: Library name change.)
Line 1,130: Line 1,130:
=={{header|Haskell}}==
=={{header|Haskell}}==
<lang haskell>import System.Random (randomRIO)
<lang haskell>import System.Random (randomRIO)
import Data.List (elemIndices, takeWhile)
import Data.List (findIndices, takeWhile)
import Control.Monad (replicateM)
import Control.Monad (replicateM)
import Control.Arrow ((&&&))
import Control.Arrow ((&&&))


equilibr xs =
equilibr xs =
findIndices (\(a, b) -> sum a == sum b) . takeWhile (not . null . snd) $
elemIndices True .
map (\(a, b) -> sum a == sum b) . takeWhile (not . null . snd) $
flip ((&&&) <$> take <*> (drop . pred)) xs <$> [1 ..]
flip ((&&&) <$> take <*> (drop . pred)) xs <$> [1 ..]