RosettaCodeData/Task/Non-continuous-subsequences/11l/non-continuous-subsequences.11l

14 lines
307 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
F ncsub(seq, s = 0)
I seq.empty
R I s >= 3 {[[Int]()]} E [[Int]]()
E
V x = seq[0.<1]
V xs = seq[1..]
V p2 = s % 2
V p1 = !p2
R ncsub(xs, s + p1).map(ys -> @x + ys) [+] ncsub(xs, s + p2)
print(ncsub(Array(1..3)))
print(ncsub(Array(1..4)))
print(ncsub(Array(1..5)))