diff options
| author | chirvasitua <stuart-little@users.noreply.github.com> | 2021-06-07 09:05:13 -0400 |
|---|---|---|
| committer | chirvasitua <stuart-little@users.noreply.github.com> | 2021-06-07 09:05:13 -0400 |
| commit | bdfdd0cb8bdc94129bd6b2ee72fa548bd4ee1e28 (patch) | |
| tree | 70463c55bb3d08519f8f20796ae42862237c16db | |
| parent | 4830b1d50fd610eb2424fe284cb48a2795e0478c (diff) | |
| download | perlweeklychallenge-club-bdfdd0cb8bdc94129bd6b2ee72fa548bd4ee1e28.tar.gz perlweeklychallenge-club-bdfdd0cb8bdc94129bd6b2ee72fa548bd4ee1e28.tar.bz2 perlweeklychallenge-club-bdfdd0cb8bdc94129bd6b2ee72fa548bd4ee1e28.zip | |
1st commit on 116_haskell
| -rwxr-xr-x | challenge-116/stuart-little/haskell/ch-1.hs | 15 | ||||
| -rwxr-xr-x | challenge-116/stuart-little/haskell/ch-2.hs | 13 |
2 files changed, 28 insertions, 0 deletions
diff --git a/challenge-116/stuart-little/haskell/ch-1.hs b/challenge-116/stuart-little/haskell/ch-1.hs new file mode 100755 index 0000000000..69e1d66883 --- /dev/null +++ b/challenge-116/stuart-little/haskell/ch-1.hs @@ -0,0 +1,15 @@ +#!/usr/bin/env runghc + +-- run <script> <number> + +import Data.List (inits) +import System.Environment (getArgs) + +fstRunOver :: String -> String -> [String] +fstRunOver s1 s2 = reverse $ head $ dropWhile (\xss -> (length s2) > (sum $ map length xss)) $ iterate (\xs -> (show $ (+) 1 $ (read::String->Int) $ head xs):xs) [s1] + +consecSplit :: String -> [String] +consecSplit s = head $ dropWhile (\ss -> s /= concat ss) $ map (\s'-> fstRunOver s' s) $ tail $ inits s + +main :: IO () +main = getArgs >>= putStrLn . unwords . consecSplit . head diff --git a/challenge-116/stuart-little/haskell/ch-2.hs b/challenge-116/stuart-little/haskell/ch-2.hs new file mode 100755 index 0000000000..048200b765 --- /dev/null +++ b/challenge-116/stuart-little/haskell/ch-2.hs @@ -0,0 +1,13 @@ +#!/usr/bin/env runghc + +-- run <script> <number> + +import Data.Char (digitToInt) +import Math.NumberTheory.Roots (isSquare) +import System.Environment (getArgs) + +digSqSum :: String -> Int +digSqSum = sum . map (\x-> x*x) . map digitToInt + +main :: IO () +main = getArgs >>= putStrLn . show . fromEnum . isSquare . digSqSum . head |
