Ramanujan primes: Difference between revisions

Content added Content deleted
m (use primes instead of primesmask)
Line 98: Line 98:


=={{header|Julia}}==
=={{header|Julia}}==
<lang julia>using Primes, Memoize
<lang julia>using Primes


const MASK = [[false]]


const PRIMES = [primes(625000)]
@memoize function PI(n)

if n > length(first(MASK))
function PI(n)
empty!(MASK)
push!(MASK, primesmask(2n))
if n > first(PRIMES)[end]
empty!(PRIMES)
push!(PRIMES, primes(2n))
end
end
return sum(@view first(MASK)[1:n])
return n < 100000 ? findfirst(x -> x > n, first(PRIMES)) - 1 :
findlast(x -> x <= n, first(PRIMES))
end
end



function Ramanujan_prime(n)
function Ramanujan_prime(n)