1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | -- prime numbers sieve [] = [] sieve (x:u) = x : (sieve (filter (\y -> mod y x /= 0) u)) allPrimes = sieve [2..] divisorsFrom x u@(y:v) | x == 1 = [] | (mod x y == 0) = y : divisorsFrom (div x y) u | otherwise = divisorsFrom x v divisors x = divisorsFrom x allPrimes main = do (print (sum (takeWhile (<130000) (sieve [2..2000000])))) -- print (divisors 600851475143) -- print (allPrimes !! 10000) |
LS0gcHJpbWUgbnVtYmVycwoKc2lldmUgW10gPSBbXQoKc2lldmUgKHg6dSkgPSB4IDogKHNpZXZlIChmaWx0ZXIgKFx5IC0+IG1vZCB5IHggLz0gMCkgdSkpCgphbGxQcmltZXMgPSBzaWV2ZSBbMi4uXQoKZGl2aXNvcnNGcm9tIHggdUAoeTp2KQoJfCB4ID09IDEJCT0gW10KCXwgKG1vZCB4IHkgPT0gMCkJPSB5IDogZGl2aXNvcnNGcm9tIChkaXYgeCB5KSB1Cgl8IG90aGVyd2lzZQkJPSBkaXZpc29yc0Zyb20geCB2CgpkaXZpc29ycyB4ID0gZGl2aXNvcnNGcm9tIHggYWxsUHJpbWVzCgptYWluID0gZG8gKHByaW50IChzdW0gKHRha2VXaGlsZSAoPDEzMDAwMCkgKHNpZXZlIFsyLi4yMDAwMDAwXSkpKSkKCi0tCXByaW50IChkaXZpc29ycyA2MDA4NTE0NzUxNDMpCi0tCXByaW50IChhbGxQcmltZXMgISEgMTAwMDAp
-
upload with new input
-
result: Success time: 8.69s memory: 5640 kB returned value: 0
749586246
prime numbers (Eratosthenes)



