19 lines
346 B
Plaintext
19 lines
346 B
Plaintext
func[][] ncsub seq[] s .
|
|
if len seq[] = 0
|
|
if s >= 3
|
|
return [ [ ] ]
|
|
.
|
|
return [ ]
|
|
.
|
|
last = seq[$]
|
|
len seq[] -1
|
|
res[][] = ncsub seq[] (s + s mod 2)
|
|
r[][] = ncsub seq[] (s + 1 - s mod 2)
|
|
for i to len r[][]
|
|
r[i][] &= last
|
|
res[][] &= r[i][]
|
|
.
|
|
return res[][]
|
|
.
|
|
print ncsub [ 1 2 3 4 ] 0
|