--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2008/10/02

Project Euler: Problem 4

Problem 4

愚直に1つ1つ計算している。回文判定は文字列で。ダメダメすぎる。中盤以降はこういうの通用しなくなるんだろうなぁ。

実行結果

$ runhaskell 4.hs
(995,583,580085)

プログラム

 1 kaibun s = let len = length s
 2                (left, right@(_:rest)) = splitAt (len `div` 2) s
 3              in if even len
 4                     then left == reverse right
 5                     else left == reverse rest
 6 third (_,_,x) = x
 7
 8 stupid = head $ filter (kaibun . show . third) $ nums 999 999
 9     where nums 99 _ = []
10           nums (x+199 = nums x x
11           nums x y = (x,y,x*y) : nums x (y-1)
12
13 main = print $ stupid
スポンサーサイト

comment

post




上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。