diff options
| -rw-r--r-- | challenge-192/alexander-pankoff/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-192/alexander-pankoff/haskell/ch-2.hs | 9 |
2 files changed, 8 insertions, 2 deletions
diff --git a/challenge-192/alexander-pankoff/blog.txt b/challenge-192/alexander-pankoff/blog.txt new file mode 100644 index 0000000000..5e3c5269c8 --- /dev/null +++ b/challenge-192/alexander-pankoff/blog.txt @@ -0,0 +1 @@ +https://pankoff.net/pages/perl-weekly-challenge/challenge-192.html
\ No newline at end of file diff --git a/challenge-192/alexander-pankoff/haskell/ch-2.hs b/challenge-192/alexander-pankoff/haskell/ch-2.hs index c436550291..c0d023a906 100755 --- a/challenge-192/alexander-pankoff/haskell/ch-2.hs +++ b/challenge-192/alexander-pankoff/haskell/ch-2.hs @@ -4,6 +4,7 @@ module Main where import Test.HUnit import Data.List (singleton) +import GHC.Natural (Natural) main = runTestTT $ TestList @@ -18,12 +19,16 @@ main = runTestTT (Just 0) (equalDistribution $ singleton 4)] -equalDistribution :: [Int] -> Maybe Int +equalDistribution :: [Int] -> Maybe Natural equalDistribution [] = Just 0 equalDistribution xs = let total = sum xs target = total `div` length xs isDistributable = total `mod` length xs == 0 in if isDistributable - then Just $ sum $ map abs $ scanl (\a b -> a + b - target) 0 xs + then Just + $ fromIntegral + $ sum + $ map abs + $ scanl (\a b -> a + b - target) 0 xs else Nothing
\ No newline at end of file |
