変更量を指定して変更のすべての組み合わせを見つけるいくつかの OCaml コードがあります。ほとんどのコードが機能していますが、この再帰関数が実際に可能な変更の組み合わせを返す方法を理解できません。
let change_combos presidents =
let rec change amount coinlist = match amount with
|0 -> [[]] (*exits when nothing*)
|_ when (amount < 0) -> [] (*exits when less than 0*)
|_ -> match coinlist with
|[] -> [] (*Returns empty list, exits program*)
(*h::f -> something, using [25;10;5;1] aka all change combinations...*)
(*using recursion, going through all combinations and joining lists returned together*)
let print_the_coin_matrix_for_all_our_joy enter_the_matrix =
print_endline (join "\n" (List.map array_to_string enter_the_matrix));;
助けてくれてありがとう、何かを明確にする必要がある場合はお知らせください:)