From 68226c0057258ef1fa86740a1900754a83692cc7 Mon Sep 17 00:00:00 2001 From: Bill Ewanick Date: Tue, 12 Sep 2023 01:27:15 -0400 Subject: [PATCH] Project Euler #4 --- src/projectEuler/question4.hs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/projectEuler/question4.hs diff --git a/src/projectEuler/question4.hs b/src/projectEuler/question4.hs new file mode 100644 index 0000000..a234eaf --- /dev/null +++ b/src/projectEuler/question4.hs @@ -0,0 +1,21 @@ +-- https://projecteuler.net/problem=4 + +import Debug.Trace (trace) + +twoDigitProducts :: [Integer] +twoDigitProducts = [ n*m | n <- [10..99], m <- [n..99] ] + +isPalindrome :: Integer -> Bool +isPalindrome n = all (== True) $ zipWith (==) half half' + where + (half, half'') = splitAt h n' + half' = reverse half'' + h = length n' `div` 2 + n' = show n + -- n' = trace (show n) $ show n + +solve :: Integer +solve = maximum $ filter isPalindrome twoDigitProducts + +main :: IO () +main = print solve