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

22 lines
384 B
Text

let rec fence s = function
[] ->
if s >= 3 then
[[]]
else
[]
| x :: xs ->
if s mod 2 = 0 then
List.map
(fun ys -> x :: ys)
(fence (s + 1) xs)
@
fence s xs
else
List.map
(fun ys -> x :: ys)
(fence s xs)
@
fence (s + 1) xs
let ncsubseq = fence 0