25 lines
421 B
Plaintext
25 lines
421 B
Plaintext
!YS-v0
|
|
|
|
defn main(n=30):
|
|
say: yellow(n)
|
|
|
|
defn yellow(n):
|
|
a =: +[1 2 3]
|
|
b =: (1 .. 3).zipmap([true]:cycle)
|
|
i =: 4
|
|
loop a a, b b, i i:
|
|
if n > a.#:
|
|
? if b.$i.! &&
|
|
(i.gcd(a.$) == 1) &&
|
|
(i.gcd(a:butlast.$) > 1)
|
|
: recur:
|
|
a.conj(i), b.assoc(i true), 5
|
|
recur: a, b, i.++
|
|
=>: a
|
|
|
|
defn gcd(a b):
|
|
loop a a, b b:
|
|
if b.?:
|
|
recur b: a % b
|
|
else: a
|