1 one :: Int -> Int 2 one n = sum [x | x <- [1..n], (mod x 3 == 0 || mod x 5 == 0)] 3 4 main = print $ one 999
1 four = maximum [x | x1<-[100..999], x2<-[100..999], let x=x1*x2, let p=show x, p==reverse p] 2 main = print $ four
1 primes = 2 : f [3] [3,5..] 2 where f(x:xs) ys = let (ps, qs) = span (< x^2) ys 3 in ps ++ f (xs ++ ps) [z | z <- qs, mod z x /= 0] 4 main = print $ primes !! 10000
1 ten :: Int -> Int 2 ten n = sum primes2 3 where primes = 2:f [3] [3,5..] where f (x:xs) ys = let (ps, qs) = span (< x^2) ys 4 in ps ++ f (xs ++ ps) [z | z <- qs, mod z x /= 0] 5 primes2 = takeWhile (<n) primes 6 7 main = print $ ten 2000000