diff --git a/Haskell/p004.hs b/Haskell/p004.hs index e5f26a9..30204d1 100644 --- a/Haskell/p004.hs +++ b/Haskell/p004.hs @@ -7,7 +7,7 @@ isPalindrome n = show n == reverse (show n) maxPalindrome :: Int maxPalindrome = - maximum $ filter isPalindrome [ x * y | x <- [100..999], y <- [100..999] ] + maximum . filter isPalindrome $ (*) <$> [100..999] <*> [100..999] main = do let result = maxPalindrome diff --git a/Haskell/p013.hs b/Haskell/p013.hs index 4f05a5c..3f56b48 100644 --- a/Haskell/p013.hs +++ b/Haskell/p013.hs @@ -101,9 +101,8 @@ -- 20849603980134001723930671666823555245252804609722 -- 53503534226472524250874054075591789781264330331690 ---firstDigitsSum :: (Show a, Read a, Integral a) => Int -> [a] -> a -firstDigitsSum :: Int -> [Integer] -> Integer -firstDigitsSum n xs = read $ take n $ show $ sum xs +firstDigitsSum :: Int -> [Integer] -> Int +firstDigitsSum n xs = read . take n . show $ sum xs main = do let result = firstDigitsSum 10 [37107287533902102798797998220837590246510135740250 diff --git a/Haskell/p014.hs b/Haskell/p014.hs index 02f1956..e8bd32c 100644 --- a/Haskell/p014.hs +++ b/Haskell/p014.hs @@ -14,7 +14,7 @@ -- -- NOTE: Once the chain starts the terms are allowed to go above one million. -collatz :: (Integral a) => a -> [a] +collatz :: Int -> [Int] collatz 1 = [1] collatz n | even n = n:collatz (n `div` 2)