diff options
| -rw-r--r-- | challenge-083/stuart-little/README | 2 | ||||
| -rwxr-xr-x | challenge-083/stuart-little/haskell/ch-1.hs | 9 | ||||
| -rwxr-xr-x | challenge-083/stuart-little/haskell/ch-2.hs | 14 |
3 files changed, 24 insertions, 1 deletions
diff --git a/challenge-083/stuart-little/README b/challenge-083/stuart-little/README index 76119cbbb8..78439907de 100644 --- a/challenge-083/stuart-little/README +++ b/challenge-083/stuart-little/README @@ -1 +1 @@ -Solutions by Stuart Little. +Solutions by Stuart Little diff --git a/challenge-083/stuart-little/haskell/ch-1.hs b/challenge-083/stuart-little/haskell/ch-1.hs new file mode 100755 index 0000000000..343d334492 --- /dev/null +++ b/challenge-083/stuart-little/haskell/ch-1.hs @@ -0,0 +1,9 @@ +#!/usr/bin/env runghc + +-- run <script> <quoted string> + +import System.Environment (getArgs,) + +main = do + ln <- getArgs >>= return.head >>= return.sum.(map length).init.tail.words + print ln diff --git a/challenge-083/stuart-little/haskell/ch-2.hs b/challenge-083/stuart-little/haskell/ch-2.hs new file mode 100755 index 0000000000..7f7413921b --- /dev/null +++ b/challenge-083/stuart-little/haskell/ch-2.hs @@ -0,0 +1,14 @@ +#!/usr/bin/env runghc + +-- run <script> <space-separated numbers> + +import Data.List (subsequences,) +import Data.List.Extra (minimumOn,groupSortOn,) +import System.Environment (getArgs,) + +main = do + nrs <- getArgs >>= return.(map (read::String->Int)) + let reslst = minimumOn length $ last $ groupSortOn sum $ filter ((<= (sum nrs)).(2*).sum) $ subsequences nrs + putStrLn "Change the sign(s) of:" + print reslst + putStrLn $ "Number of elements: " ++ (show $ length reslst) |
