Successive prime differences: Difference between revisions

Content added Content deleted
(→‎{{header|Ruby}}: Added Ruby)
Line 245: Line 245:
Number found = 306
Number found = 306
</pre>
</pre>

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

function filterdifferences(deltas, N)
allprimes = primes(N)
differences = map(i -> allprimes[i + 1] - allprimes[i], 1:length(allprimes) - 1)
println("Diff Sequence Count First Last")
for delt in deltas
ret = trues(length(allprimes))
ret[(end-length(delt)):end] .= false
for (i, d) in enumerate(delt), j in 1:length(ret)-length(delt)
if differences[j - 1 + i] != d
ret[j] = false
end
end
count, p1, pn, n = sum(ret), findfirst(ret), findlast(ret), length(delt)
println(rpad(string(delt), 16), lpad(count, 4),
lpad(string(allprimes[p1:p1 + n]), 18), "...", rpad(allprimes[pn:pn+n], 15))
end
end

filterdifferences([[2], [1], [2, 2], [2, 4], [4, 2], [6, 4, 2]], 1000000)
</lang>{{out}}
<pre>
Diff Sequence Count First Last
[2] 8169 [3, 5]...[999959, 999961]
[1] 1 [2, 3]...[2, 3]
[2, 2] 1 [3, 5, 7]...[3, 5, 7]
[2, 4] 1393 [5, 7, 11]...[999431, 999433, 999437]
[4, 2] 1444 [7, 11, 13]...[997807, 997811, 997813]
[6, 4, 2] 306 [31, 37, 41, 43]...[997141, 997147, 997151, 997153]
</pre>



=={{header|Perl}}==
=={{header|Perl}}==