Posted at

Project EulerをHaskellで解いていく(Problem4: Largest palindrome product)


TL;DR

Haskellの勉強を兼ねてProject Eulerを解いていきます。

始めたばかりでわからないことが多いのでコメント頂けると嬉しいです。


問題文


A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.

Find the largest palindrome made from the product of two 3-digit numbers.

左右どちらから読んでも同じ値になる数を回文数という. 2桁の数の積で表される回文数のうち, 最大のものは 9009 = 91 × 99 である.

では, 3桁の数の積で表される回文数の最大値を求めよ.



コード

sPalindrome::Int -> Bool

isPalindrome n = show n == reverse(show n)

main::IO()
main = do
print $ maximum [x * y | x <- [100..999], y <- [100..999], isPalindrome(x * y)]