RosettaCodeData/Task/Non-continuous-subsequences/Quackery/non-continuous-subsequences.quackery
2023-07-01 13:44:08 -04:00

38 lines
831 B
Text

[ dup 1 & dip [ 1 >> ] ] is 2/mod ( n --> n n )
[ 0 swap
[ dup 0 != while
2/mod iff
[ dip 1+ ] done
again ]
[ dup 0 != while
2/mod not iff
[ dip 1+ ] done
again ]
[ dup 0 != while
2/mod iff
[ dip 1+ ] done
again ]
drop 3 = ] is noncontinuous ( n --> b )
[ [] unrot
[ dup 0 != while
dip behead tuck
1 & iff
[ nested dip rot
join unrot ]
else drop
1 >> again ]
2drop ] is bitems ( [ n --> [ )
[ [] swap
dup size bit times
[ i^ noncontinuous if
[ dup i^ bitems
nested rot
join swap ] ]
drop ] is ncsubs ( [ --> [ )
' [ 1 2 3 4 ] ncsubs echo cr
$ "quackery" ncsubs 72 wrap$