Sisyphus sequence: Difference between revisions

J draft
m (julia example)
(J draft)
Line 197:
3 57 65 85 114 125 130 170 228
</pre>
 
=={{header|J}}==
Simplistic implementation: <syntaxhighlight lang=J>sisyphuseq=: {{
r=. 1
P=: _1
while. y>#r do. p=. {:P
if. 2|N=. {:r do.
P=: P, p=. 1+p
r=. r,N+p:p
else.
P=: P, p
r=. r,-:N
end.
end.
}}</syntaxhighlight>
 
Task:
 
<syntaxhighlight lang=J> seq=: sisyphuseq 1e6
10 10$seq NB. first 100 members of sequence
1 3 6 3 8 4 2 1 8 4
2 1 12 6 3 16 8 4 2 1
18 9 28 14 7 30 15 44 22 11
42 21 58 29 70 35 78 39 86 43
96 48 24 12 6 3 62 31 92 46
23 90 45 116 58 29 102 51 130 65
148 74 37 126 63 160 80 40 20 10
5 106 53 156 78 39 146 73 182 91
204 102 51 178 89 220 110 55 192 96
48 24 12 6 3 142 71 220 110 55
x:(,. (seq {~ <:),. P p:@{~ <:) 1e3 1e4 1e5 1e6 NB. nth elements of sequence and corresponding largest prime used
1000 990 2273
10000 24975 30713
100000 265781 392111
1000000 8820834 4761697</syntaxhighlight>
 
=={{header|jq}}==
6,951

edits