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}}== |