19 lines
409 B
Plaintext
19 lines
409 B
Plaintext
func non_continuous(min, max, subseq=[], has_gap=false) {
|
|
|
|
static current = [];
|
|
|
|
range(min, max).each { |i|
|
|
current.push(i);
|
|
has_gap && subseq.append([current...]);
|
|
i < max && non_continuous(i.inc, max, subseq, has_gap);
|
|
current.pop;
|
|
has_gap = current.len;
|
|
}
|
|
|
|
subseq;
|
|
}
|
|
|
|
say non_continuous(1, 3);
|
|
say non_continuous(1, 4);
|
|
say non_continuous("a", "d");
|