# [Haskell-beginners] Project Euler #01 on HackerRank, Performance issue‏

Jean Lopes hawu.bnu at gmail.com
Tue Jan 27 23:29:22 UTC 2015

```Hello everyone! I'm learning Haskell by solving simple exercises on
www.hackerrank.com...

The problem to be solved:
https://www.hackerrank.com/contests/projecteuler/challenges/euler001

as stated in this section: https://www.hackerrank.com/environment
constraints
time limit: 5 seconds
memory: 512mb

I keep getting "timed out" on some test cases (#2 and #3). Trying to
process 10^5 numbers between 1 to 10^9 *seems* impossible to me (Please,
prove me wrong!)

here is my code:
import Data.Maybe
import qualified Data.ByteString.Char8 as B

nearestMultipleOf :: Integral a => a -> a -> a
nearestMultipleOf n k = if mod n k == 0 then n else nearestMultipleOf (n-1)
k

sumMultiplesOf :: Integral a => a -> a -> a
sumMultiplesOf n k = foldl (+) 0 [k,k*2..nearest]
where nearest = nearestMultipleOf n k

solution :: Integral a => a -> a
solution n = s03 + s05 - s15
where s03 = sumMultiplesOf (n-1) 3
s05 = sumMultiplesOf (n-1) 5
s15 = sumMultiplesOf (n-1) 15

main = do
c <- B.getContents
let ns = tail \$ B.lines c
putStr \$ unlines \$ map show \$ map (solution . fst . fromJust .