ハノイの塔を実行するプログラム

verify_towers関数を確認してみましたが、エラーとなる原因を見つけることができませんでした

「エラー」というのは,「単に "FAILED" という結果になる」という意味でしょうか.
(プログラミング関係の文脈で「エラー」というと,普通はコンパイルエラーとかランタイムエラーを指すと思うので,この状況を示す言葉として相応しくないと思う)

で,「とりあえずデバッグすればわかるんじゃないの?」という話だと見えますが,
コードをぱっと見した限り,verify_towers 関数内で top を用いていないのはロジックとして変なのではないかと見えます.
(あと,この関数を無意味に3連続で呼んでいる点もどうかと思う)

verify_towerstop を用いて有効な範囲のみをチェックすべきなのか,
それとも move の側で現状の verify_towers の処理と辻褄が合う形にデータをいじくるべきなのか,
どちらの形が想定されているのかはわかりませんが,いずれかの然るべき方向で修正すれば良いのではないでしょうか.

コメントを投稿

0 コメント