ってのがあるのか。
cf. http://projecteuler.net/index.php
via Life Goes On – はじめました
気が向いたときにはやってみるかな。
とりあえず Problem 1 を内包表記で。
euler0001 :: Int -> Int euler0001 n = sum [x | x <- [1..(n-1)], or [x `mod` 3 == 0, x `mod` 5 == 0]] main :: IO () main = print $ euler0001 1000
^o^ >runhaskell euler0001.hs 233168
sum $ filter ((>1).(gcd 15)) [1..n-1]
という手も。
15との最大公約数を利用するのか。こっちのほうがすっきりしてますね。