diff options
| -rwxr-xr-x | challenge-124/stuart-little/haskell/ch-1.hs | 30 | ||||
| -rwxr-xr-x | challenge-124/stuart-little/haskell/ch-2.hs | 14 |
2 files changed, 44 insertions, 0 deletions
diff --git a/challenge-124/stuart-little/haskell/ch-1.hs b/challenge-124/stuart-little/haskell/ch-1.hs new file mode 100755 index 0000000000..ba1ead5bd5 --- /dev/null +++ b/challenge-124/stuart-little/haskell/ch-1.hs @@ -0,0 +1,30 @@ +#!/usr/bin/env runghc + +-- run <script> + +{-# LANGUAGE QuasiQuotes #-} +import Text.RawString.QQ + +multi :: String +multi = [r| ^^^^^ + ^ ^ + ^ ^ + ^ ^ + ^ ^ + ^ ^ + ^ ^ + ^ ^ + ^ ^ + ^ ^ + ^^^^^ + ^ + ^ + ^ + ^^^^^ + ^ + ^ +|] + +main :: IO () +main = putStrLn multi + diff --git a/challenge-124/stuart-little/haskell/ch-2.hs b/challenge-124/stuart-little/haskell/ch-2.hs new file mode 100755 index 0000000000..d4fb7ff1cc --- /dev/null +++ b/challenge-124/stuart-little/haskell/ch-2.hs @@ -0,0 +1,14 @@ +#!/usr/bin/env runghc + +-- run <script> <space-separated numbers> + +import Combinatorics (tuples) +import Data.List ((\\), ) +import Data.List.Extra (minimumOn) +import System.Environment (getArgs) + +splt :: (Eq a,Num a,Ord a) => [a] -> [[a]] +splt xs = minimumOn (\p-> abs ((sum $ head p)-(sum $ last p))) $ map (\tp-> [tp, xs\\tp]) $ tuples (div (length xs) 2) xs + +main :: IO () +main = getArgs >>= putStrLn . unlines . map unwords . (map.map) show . splt . map (read::String->Int) |
