Files
rose-ash/lib/ocaml/baseline/fizzbuzz.ml
giles d8f1882b50
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 32s
ocaml: phase 5.1 fizzbuzz.ml baseline (12/12 pass)
Classic fizzbuzz using ref-cell accumulator, for-loop, mod, if/elseif
chain, String.concat, Int.to_string. Output verified via String.length
of the comma-joined result for n=15: 57.
2026-05-08 17:44:07 +00:00

18 lines
439 B
OCaml

(* Baseline: fizzbuzz returning a list of strings *)
let fizzbuzz n =
let acc = ref [] in
for i = 1 to n do
let s =
if i mod 15 = 0 then "FizzBuzz"
else if i mod 3 = 0 then "Fizz"
else if i mod 5 = 0 then "Buzz"
else Int.to_string i
in
acc := s :: !acc
done ;
List.rev !acc
;;
(* Concatenated for a deterministic check value via String.length *)
String.length (String.concat "," (fizzbuzz 15))