- ベストアンサー
CommonLispでハノイの塔の円盤の移動回数を数える。
はじめまして。東吾と言います。 Lispを最近初めて、色々見ながらハノイの塔のプログラムを作ってみました。 それだけじゃ芸が無いから移動の回数を数えてみようとおもったんだけど、行き詰まってしまいました。 idouの出てきた回数を数えれば良いのは分かるんだけどうまく組みこめないんです。 よろしくお願いします。 とりあえず作ってみたハノイの塔のプログラムです。 (defun hanoi (n from to v) (if (= n 1) (idou 1 from to) (let ((n1 (1- n))) (hanoi n1 from v to) (idou n from to) (hanoi n1 v to from)))) (defun idou (n from to) (print `(move ,n from , from to, to)) )
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- acacia7
- ベストアンサー率26% (381/1447)
回答No.4
- acacia7
- ベストアンサー率26% (381/1447)
回答No.3
- piyo-kichi
- ベストアンサー率47% (9/19)
回答No.2
- acacia7
- ベストアンサー率26% (381/1447)
回答No.1
お礼
ありがとうございます! なるほど、idouで数えるんじゃなくてhanoiの方でやっちゃうんですね。 ちゃんと動きました。