Successive prime differences: Difference between revisions
Content deleted Content added
→{{header|Perl 6}}: Unwrapped sub in .categorize, and fixed typo in URL. |
m Moved Go entry into correct alphabetic order. |
||
Line 29: | Line 29: | ||
:#https://pdfs.semanticscholar.org/78a1/7349819304863ae061df88dbcb26b4908f03.pdf |
:#https://pdfs.semanticscholar.org/78a1/7349819304863ae061df88dbcb26b4908f03.pdf |
||
:#https://www.primepuzzles.net/puzzles/puzz_011.htm |
:#https://www.primepuzzles.net/puzzles/puzz_011.htm |
||
=={{header|Factor}}== |
|||
{{works with|Factor|0.99}} |
|||
<lang factor>USING: formatting fry grouping kernel math math.primes |
|||
math.statistics sequences ; |
|||
IN: rosetta-code.successive-prime-differences |
|||
: seq-diff ( seq diffs -- seq' quot ) |
|||
dup [ length 1 + <clumps> ] dip '[ differences _ sequence= ] |
|||
; inline |
|||
: show ( seq diffs -- ) |
|||
[ "...for differences %u:\n" printf ] keep seq-diff |
|||
[ find nip { } like ] |
|||
[ find-last nip { } like ] |
|||
[ count ] 2tri |
|||
"First group: %u\nLast group: %u\nCount: %d\n\n" printf ; |
|||
: successive-prime-differences ( -- ) |
|||
"Groups of successive primes up to one million...\n" printf |
|||
1,000,000 primes-upto { |
|||
{ 2 } |
|||
{ 1 } |
|||
{ 2 2 } |
|||
{ 2 4 } |
|||
{ 4 2 } |
|||
{ 6 4 2 } |
|||
} [ show ] with each ; |
|||
MAIN: successive-prime-differences</lang> |
|||
{{out}} |
|||
<pre> |
|||
Groups of successive primes up to one million... |
|||
...for differences { 2 }: |
|||
First group: { 3 5 } |
|||
Last group: { 999959 999961 } |
|||
Count: 8169 |
|||
...for differences { 1 }: |
|||
First group: { 2 3 } |
|||
Last group: { 2 3 } |
|||
Count: 1 |
|||
...for differences { 2 2 }: |
|||
First group: { 3 5 7 } |
|||
Last group: { 3 5 7 } |
|||
Count: 1 |
|||
...for differences { 2 4 }: |
|||
First group: { 5 7 11 } |
|||
Last group: { 999431 999433 999437 } |
|||
Count: 1393 |
|||
...for differences { 4 2 }: |
|||
First group: { 7 11 13 } |
|||
Last group: { 997807 997811 997813 } |
|||
Count: 1444 |
|||
...for differences { 6 4 2 }: |
|||
First group: { 31 37 41 43 } |
|||
Last group: { 997141 997147 997151 997153 } |
|||
Count: 306 |
|||
</pre> |
|||
=={{header|Go}}== |
=={{header|Go}}== |
||
Line 134: | Line 197: | ||
Last group = [997141 997147 997151 997153] |
Last group = [997141 997147 997151 997153] |
||
Number found = 306 |
Number found = 306 |
||
</pre> |
|||
=={{header|Factor}}== |
|||
{{works with|Factor|0.99}} |
|||
<lang factor>USING: formatting fry grouping kernel math math.primes |
|||
math.statistics sequences ; |
|||
IN: rosetta-code.successive-prime-differences |
|||
: seq-diff ( seq diffs -- seq' quot ) |
|||
dup [ length 1 + <clumps> ] dip '[ differences _ sequence= ] |
|||
; inline |
|||
: show ( seq diffs -- ) |
|||
[ "...for differences %u:\n" printf ] keep seq-diff |
|||
[ find nip { } like ] |
|||
[ find-last nip { } like ] |
|||
[ count ] 2tri |
|||
"First group: %u\nLast group: %u\nCount: %d\n\n" printf ; |
|||
: successive-prime-differences ( -- ) |
|||
"Groups of successive primes up to one million...\n" printf |
|||
1,000,000 primes-upto { |
|||
{ 2 } |
|||
{ 1 } |
|||
{ 2 2 } |
|||
{ 2 4 } |
|||
{ 4 2 } |
|||
{ 6 4 2 } |
|||
} [ show ] with each ; |
|||
MAIN: successive-prime-differences</lang> |
|||
{{out}} |
|||
<pre> |
|||
Groups of successive primes up to one million... |
|||
...for differences { 2 }: |
|||
First group: { 3 5 } |
|||
Last group: { 999959 999961 } |
|||
Count: 8169 |
|||
...for differences { 1 }: |
|||
First group: { 2 3 } |
|||
Last group: { 2 3 } |
|||
Count: 1 |
|||
...for differences { 2 2 }: |
|||
First group: { 3 5 7 } |
|||
Last group: { 3 5 7 } |
|||
Count: 1 |
|||
...for differences { 2 4 }: |
|||
First group: { 5 7 11 } |
|||
Last group: { 999431 999433 999437 } |
|||
Count: 1393 |
|||
...for differences { 4 2 }: |
|||
First group: { 7 11 13 } |
|||
Last group: { 997807 997811 997813 } |
|||
Count: 1444 |
|||
...for differences { 6 4 2 }: |
|||
First group: { 31 37 41 43 } |
|||
Last group: { 997141 997147 997151 997153 } |
|||
Count: 306 |
|||
</pre> |
</pre> |
||