Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 32s
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.
18 lines
439 B
OCaml
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))
|