ocaml: phase 5.1 catalan.ml baseline (Catalan number C(5) = 42)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 26s

DP recurrence:

  C(0) = 1
  C(n) = sum_{j=0}^{n-1} C(j) * C(n-1-j)

  let catalan n =
    let dp = Array.make (n + 1) 0 in
    dp.(0) <- 1;
    for i = 1 to n do
      for j = 0 to i - 1 do
        dp.(i) <- dp.(i) + dp.(j) * dp.(i - 1 - j)
      done
    done;
    dp.(n)

C(5) = 42 — also the count of distinct binary trees with 5 internal
nodes, balanced paren strings of length 10, monotonic lattice paths,
etc.

106 baseline programs total.
This commit is contained in:
2026-05-09 21:06:10 +00:00
parent 73917745a0
commit d4eb57fa07
3 changed files with 20 additions and 0 deletions

View File

@@ -407,6 +407,12 @@ _Newest first._
binary search tree (`type 'a tree = Leaf | Node of 'a * 'a tree *
'a tree`) with insert + in-order traversal. Tests parametric ADT,
recursive match, List.append, List.fold_left.
- 2026-05-09 Phase 5.1 — catalan.ml baseline (Catalan number C(5)
via DP recurrence = 42). DP recurrence `C(n) = sum_{j=0}^{n-1}
C(j) * C(n-1-j)`. C(5) = 42 — also the count of distinct binary
trees with 5 internal nodes, balanced paren strings of length
10, etc. Tests nested for-loop over Array with arr.(i) read +
write. 106 baseline programs total.
- 2026-05-09 Phase 5.1 — fizz_classifier.ml baseline (FizzBuzz with
polymorphic variants, 1..30 weighted score = 540). Two functions:
classify maps i → ` `FizzBuzz | `Fizz | `Buzz | `Num n``, and score