Yellowstone sequence: Difference between revisions

m
→‎{{header|REXX}}: simplified the logic.
(→‎{{header|REXX}}: added the REXX computer programming language for this task.)
m (→‎{{header|REXX}}: simplified the logic.)
Line 79:
do j=1 until #==m; prev= # - 1
if j<5 then do; #= #+1; @.#= j; !.#= j; !.j= 1; $= strip($ j); iterate; end
 
do k=1; if !.k then iterate /*Already used? Then skip this number.*/
do if gcd(k, @.#)==1; & if gcd(!.k, @.prev)>1 then nopiterate /*Already used? Then skip this number.*/
if gcd(k, @.#)\==1 | gcd(k, @.prev)<2 then iterate /*not meet else iteraterequirement?*/
#= #+1; @.#= k; !.k= 1; $= $ k /*bump ctr; assign; mark used; add list*/
leave /*go find the next Yellowstone numberseq. number*/
end /*k*/
end /*j*/
say $ /*display a list of a Yellowstone seq. */
say $
exit /*stick a fork in it, we're all done. */
/*──────────────────────────────────────────────────────────────────────────────────────*/
gcd: parse arg x,y; do until y==0; parse value x//y y with y x; end; return x</lang>
{{out|output|text=&nbsp; when using the default input:}}
<pre>