--/--/--

スポンサーサイト

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

2008/10/01

Project Euler: Problem 3

Problem 3

無限リストって素晴らしい。

実行結果

$ runhaskell 3.hs
6857

プログラム

 1 primes = sieve [2..]
 2     where sieve (p:ps) = p : sieve [x | x <- ps, x `mod` p /= 0]
 3 fact n = fact' n primes []
 4     where fact' n pps@(p:ps) r
 5             | n < p          = r
 6             | n `mod` p == 0 = fact' (n `div` p) pps (p:r)
 7             | otherwise      = fact' n ps r
 8
 9 = head $ fact 600851475143
10 main = print $ f
スポンサーサイト

comment

post




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