私はOCamlの初心者です。私はハノイの塔についてこのコードを書いた。タイプintを 'タイプ'に変更するにはどうすればよいですか? OCaml(タワーズオブハノイ)
let rec hanoi (a,b,c) n =
if n <> 0 then begin
hanoi (a,c,b) (pred n);
Printf.printf "%i %i\n" a b;
hanoi (c,b,a) (pred n)
end;;
私はa = origin towerとb = destination towerを印刷します。
私はこれを行うにしたいと思います:
hanoi : 'a * 'a * 'a > int > ('a * 'a) list
私はタイプ」にint型を変更するにはどうすればよいですか?タイプを書く方法はありますか? List.appendを使用して( 'リスト)を追加する必要がありますか?
ありがとうございました。
:ここ –
「d」、「a」、「i」の意味は何ですか?第三の塔に移動し、第二の塔に移動したくない場合はどうしたらよいですか? –
d =出発、a =到着、c =中間。 1,2,3を使用してタワーを表している場合、最初のタワーからすべてを3番に移動すると、hanoi_list 3(1,3,2)が得られます。関数を呼び出すときにパラメーターを変更するだけです。 –