39 lines
647 B
Text
39 lines
647 B
Text
include ..\Utilitys.pmt
|
|
|
|
def gcd /# u v -- n #/
|
|
abs int swap abs int swap
|
|
|
|
dup
|
|
while
|
|
over over mod rot drop dup
|
|
endwhile
|
|
drop
|
|
enddef
|
|
|
|
def test enddef
|
|
|
|
def yellow var n
|
|
( 1 2 3 ) var a
|
|
newd ( 1 true ) setd ( 2 true ) setd ( 3 true ) setd var b
|
|
4 var i
|
|
test
|
|
while
|
|
b i getd "Unfound" == >ps
|
|
a -1 get >ps -2 get
|
|
i gcd 1 > ps> i gcd 1 == ps>
|
|
and and if
|
|
i 0 put var a
|
|
( i true ) setd var b
|
|
4 var i
|
|
else
|
|
drop drop
|
|
endif
|
|
i 1 + var i
|
|
test
|
|
endwhile
|
|
a
|
|
enddef
|
|
|
|
def test n a len nip > enddef
|
|
|
|
"The first 30 entries of the Yellowstone permutation:" ? 30 yellow ?
|