ocaml: phase 5.1 josephus.ml baseline (n=50 k=3, survivor at position 11)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 22s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 22s
Classic Josephus problem solved with the standard recurrence:
let rec josephus n k =
if n = 1 then 0
else (josephus (n - 1) k + k) mod n
josephus 50 3 + 1 = 11
50 people stand in a circle, every 3rd is eliminated; the last
survivor is at position 11 (1-indexed). Tests recursion + mod.
136 baseline programs total.
This commit is contained in:
@@ -407,6 +407,11 @@ _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-10 Phase 5.1 — josephus.ml baseline (Josephus problem,
|
||||
n=50 k=3 → survivor at position 11, 1-indexed). Uses the classic
|
||||
recursive formula: J(1, k) = 0; J(n, k) = (J(n-1, k) + k) mod n.
|
||||
Returns 0-indexed survivor; we add 1 for human readability. Tests
|
||||
recursion, mod, integer arithmetic. 136 baseline programs total.
|
||||
- 2026-05-10 Phase 5.1 — partition_count.ml baseline (number of
|
||||
integer partitions of 15 = 176). Classic DP: dp[0] = 1; for each
|
||||
k from 1..n, for each i from k..n, dp[i] += dp[i - k]. O(n²) time,
|
||||
|
||||
Reference in New Issue
Block a user