JuliaでProject Euler(10)

Problem 10

https://projecteuler.net/problem=10

エラトステネスの篩を行うだけ。

function make_prime_table(N::Int64)
    a = [ true for n in 1:N ]
    for p in 2:N
        if p*p > N
            break
        elseif !a[p]
            continue
        end
        for n in p*p:p:N
            a[n] = false
        end
    end
    
    return [ n for n in 2:N if a[n] ]
end

function e010(n::Int64)
    return sum(make_prime_table(n-1))
end

N = parse(Int64, ARGS[1])
println(e010(N))

書き忘れたが、a:b:cは、bがステップ幅。