Emirp primes: Difference between revisions

Content added Content deleted
Line 1,773: Line 1,773:


=={{header|Julia}}==
=={{header|Julia}}==
{{works with|Julia|0.6}}

<lang julia>using Primes
<lang julia>using Primes


Line 1,786: Line 1,784:


Base.reverse(n::Integer) = collapse(reverse(digits(n)))
Base.reverse(n::Integer) = collapse(reverse(digits(n)))
isemirp(n::Integer) = isprime(n) && isprime(reverse(n))
isemirp(n::Integer) = (if isprime(n) m = reverse(n); return m != n && isprime(m) end; false)


function firstnemirps(m::Integer)
function firstnemirps(m::Integer)
rst = Array{typeof(m)}(m)
rst = zeros(typeof(m), m)
i, n = 1, 2
i, n = 1, 2
@inbounds while i ≤ m
while i ≤ m
if isemirp(n)
if isemirp(n)
rst[i] = n
rst[i] = n
Line 1,804: Line 1,802:
println("First 20:\n", emirps[1:20])
println("First 20:\n", emirps[1:20])
println("Between 7700 and 8000:\n", filter(x -> 7700 ≤ x ≤ 8000, emirps))
println("Between 7700 and 8000:\n", filter(x -> 7700 ≤ x ≤ 8000, emirps))
println("10000th:\n", emirps[10000])</lang>
println("10000th:\n", emirps[10000])
</lang>{{out}}

<pre>
{{out}}
<pre>First 20:
First 20:
[2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, 97, 101, 107, 113, 131, 149, 151, 157]
[13, 17, 31, 37, 71, 73, 79, 97, 107, 113, 149, 157, 167, 179, 199, 311, 337, 347, 359, 389]
Between 7700 and 8000:
Between 7700 and 8000:
[7717, 7757, 7817, 7841, 7867, 7879, 7901, 7927, 7949, 7951, 7963]
[7717, 7757, 7817, 7841, 7867, 7879, 7901, 7927, 7949, 7951, 7963]
10000th:
10000th:
948349
942569</pre>
</pre>


=={{header|Kotlin}}==
=={{header|Kotlin}}==