Successive prime differences: Difference between revisions

→‎{{header|J}}: align naming to task
(→‎{{header|J}}: simplify)
(→‎{{header|J}}: align naming to task)
Line 1,235:
primes_less_than=: i.&.:(p:inv)
assert 2 3 5 -: primes_less_than 7
PRIMESPrimes=: primes_less_than 1e6
 
NB. Insert minus `-/' into the length two infixes `\'.
NB. Passive `~' swaps the arguments producing the positive differences.
SUCCESSIVE_DIFFERENCESSuccessive_Differences=: 2 -~/\ PRIMESPrimes
assert 8169 -: +/ 2 = SUCCESSIVE_DIFFERENCESSuccessive_Differences NB. twin prime tally
 
INTERVALSGroups=: 2 ; 1 ; 2 2 ; 2 4 ; 4 2 ; 6 4 2
 
sequence_indexgroup_index=: [: I. E.
end_groups=: PRIMESPrimes {~ ({. , {:)@] +/ 0,#\@[
 
HEADHeader=: <;._2 'groupGroup;tallyCount;endFirst/Last occurrencesgroups;'
 
HEADHeader ,> INTERVALSGroups ([ ([ ; #@] ; end_groups) sequence_indexgroup_index)&.> <SUCCESSIVE_DIFFERENCESSuccessive_Differences
┌─────┬─────┬───────────────────────────┐
│group│tally│end occurrences │Group│Count│First/Last groups
├─────┼─────┼───────────────────────────┤
│2 │8169 │ 3 5 │
892

edits