RosettaCodeData/Task/Equilibrium-index/Haskell/equilibrium-index-1.hs
2020-02-17 23:21:07 -08:00

11 lines
381 B
Haskell

import System.Random (randomRIO)
import Data.List (elemIndices, takeWhile)
import Control.Monad (replicateM)
import Control.Arrow ((&&&))
equilibr xs =
elemIndices True .
map (\(a, b) -> sum a == sum b) . takeWhile (not . null . snd) $
flip ((&&&) <$> take <*> (drop . pred)) xs <$> [1 ..]
langeSliert = replicateM 2000 (randomRIO (-15, 15) :: IO Int) >>= print . equilibr