素数モジュール
-- Haskell, 090105 module Prime (prime, isprime) where -- 素数 prime :: Integral a => [a] prime = 2 : filter (\n -> (all (\x -> n`mod`x/=0) . takeWhile (\x -> x*x<=n)) prime) [3..] -- 素数判定 isprime :: Integral a => a -> Bool isprime n = any (\x -> n`mod`x==0) $ takeWhile (\x -> x*x<=n) [2..]
prime関数はsatzz online 2.0様より.