« Project Euler : Problem 7 ~ 10001 番目の素数 | トップページ | Project Euler : Problem 9 〜 ピタゴラス数 »

2009年12月27日 (日)

Project Euler : Problem 8

 問題はこちらをご覧ください。

 

 1000 桁の数を一行に並べるのに抵抗があったのと、各桁の数字をリストに入れて処理するつもりだったので、まず、1000 桁の数を 20 桁ずつ区切ってリストに入れておきました。
 さらにそのリストをもとに、各桁の数字を要素とするリストを作って、処理をしました。

import Data.Char (digitToInt) nums :: [Integer] nums = [73167176531330624919225119674426574742355349194934, 96983520312774506326239578318016984801869478851843, 85861560789112949495459501737958331952853208805511, 12540698747158523863050715693290963295227443043557, 66896648950445244523161731856403098711121722383113, 62229893423380308135336276614282806444486645238749, 30358907296290491560440772390713810515859307960866, 70172427121883998797908792274921901699720888093776, 65727333001053367881220235421809751254540594752243, 52584907711670556013604839586446706324415722155397, 53697817977846174064955149290862569321978468622482, 83972241375657056057490261407972968652414535100474, 82166370484403199890008895243450658541227588666881, 16427171479924442928230863465674813919123162824586, 17866458359124566529476545682848912883142607690042, 24219022671055626321111109370544217506941658960408, 07198403850962455444362981230987879927244284909188, 84580156166097919133875499200524063689912560717606, 05886116467109405077541002256983155200055935729725, 71636269561882670428252483600823257530420752963450] partProducts :: [Int] -> [Int] partProducts xs'@(x : xs) | length xs' < 5 = [] | otherwise = prd : partProducts xs where prd = product $ take 5 xs' problem008 :: Int problem008 = maximum $ partProducts ns where ns = concatMap dexToList nums dexToList n = map digitToInt $ show n main = print problem008

« Project Euler : Problem 7 ~ 10001 番目の素数 | トップページ | Project Euler : Problem 9 〜 ピタゴラス数 »

Haskell」カテゴリの記事

Project Euler」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/112020/47128905

この記事へのトラックバック一覧です: Project Euler : Problem 8:

« Project Euler : Problem 7 ~ 10001 番目の素数 | トップページ | Project Euler : Problem 9 〜 ピタゴラス数 »

2016年7月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
フォト

最近のトラックバック

無料ブログはココログ