Sexy primes: Difference between revisions

Content added Content deleted
Line 537: Line 537:


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


function nextby6(i, a)
function nextby6(i, a)
Line 570: Line 571:
quadruplets = Dict{Int64, Array{Int64,1}}()
quadruplets = Dict{Int64, Array{Int64,1}}()
quintuplets = Dict{Int64, Array{Int64,1}}()
quintuplets = Dict{Int64, Array{Int64,1}}()
isa_twin = Dict{Int64, Bool}()
possibles = primes(x + 30)
possibles = primes(x + 30)
singles = filter(y -> y <= x - 6, possibles)
singles = filter(y -> y <= x - 6, possibles)
unsexy = Dict(p => true for p in singles)
unsexy = Dict(p => true for p in singles)
for (i, p) in enumerate(singles)
for (i, p) in enumerate(singles)
if !haskey(isa_twin, p)
twinidx = nextby6(i, possibles)
twinidx = nextby6(i, possibles)
if twinidx > i
if twinidx > i
delete!(unsexy, p)
isa_twin[p] = true
delete!(unsexy, p + 6)
delete!(unsexy, p)
twins[p] = [i, twinidx]
delete!(unsexy, p + 6)
tripidx = nextby6(twinidx, possibles)
twins[p] = [i, twinidx]
if tripidx > twinidx
tripidx = nextby6(twinidx, possibles)
triplets[p] = [i, twinidx, tripidx]
if tripidx > twinidx
quadidx = nextby6(tripidx, possibles)
triplets[p] = [i, twinidx, tripidx]
if quadidx > tripidx
quadidx = nextby6(tripidx, possibles)
quadruplets[p] = [i, twinidx, tripidx, quadidx]
if quadidx > tripidx
quintidx = nextby6(quadidx, possibles)
quadruplets[p] = [i, twinidx, tripidx, quadidx]
if quintidx > quadidx
quintidx = nextby6(quadidx, possibles)
quintuplets[p] = [i, twinidx, tripidx, quadidx, quintidx]
if quintidx > quadidx
quintuplets[p] = [i, twinidx, tripidx, quadidx, quintidx]
end
end
end
end
end
Line 602: Line 599:
"$(length(quadruplets)) quadruplets, and\n",
"$(length(quadruplets)) quadruplets, and\n",
"$(length(quintuplets)) quintuplets less than $x.")
"$(length(quintuplets)) quintuplets less than $x.")

println("The last 5 twin primes start with ", lastoneslessthan(twins, 5, x - 6))
println("The last 5 twin primes start with ", lastoneslessthan(twins, 5, x - 6))
println("The last 5 triplet primes start with ", lastones(triplets, 5))
println("The last 5 triplet primes start with ", lastones(triplets, 5))
Line 612: Line 608:
end
end


primesbysexiness(1000035)</lang>{{output}}<pre>
primesbysexiness(1000035) </lang> {{output}} <pre>
There are:
There are:
16386 twins,
16386 twins,