Non-continuous subsequences: Difference between revisions

No edit summary
Line 200:
[[1 3] [1 4] [2 4] [1 2 4] [1 3 4] [1 5] [2 5] [1 2 5] [3 5] [1 3 5]
[2 3 5] [1 2 3 5] [1 4 5] [2 4 5] [1 2 4 5] [1 3 4 5]]
</pre>
 
 
=={{header|Python}}==
Adapted from the Scheme version.
 
<pre>
def ncsub(seq, s=0):
if seq:
x = seq[:1]
xs = seq[1:]
p2 = s % 2
p1 = not p2
return [x + ys for ys in ncsub(xs, s + p1)] + ncsub(xs, s + p2)
else:
return [[]] if s >= 3 else []
 
print ncsub([1, 2, 3])
print ncsub([1, 2, 3, 4])
print ncsub([1, 2, 3, 4, 5])
</pre>
 
Anonymous user