1
0
Fork 0

Project Euler #4

main
Bill Ewanick 2023-09-12 01:27:15 -04:00
parent cf8cecfa93
commit 68226c0057
1 changed files with 21 additions and 0 deletions

View File

@ -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