数独の平凡な解法(C言語)


数独の解き方をいくつか紹介したことがあります。

困ったことに、「どれも変態でわかりにくい、ふざけんな」という批判を受けたので、みんな大好きC言語で、平凡に書いてみました(実行結果)。

数独の平凡な解法(Mathematica)

数独の平凡な解法(C言語)” への3件のコメント

  1. 数独プログラムの作成を楽しんでいます。C言語での解法プログラムをJavaで試してみました。シンプルで美しいプログラムですね。驚きです。解のない、あるいは解が複数ありの問題はいずれも数独の問題としては不適切ですが、解がない場合は表示なし。解が複数ありの場合は、そのうちの一つを表示する仕様ですね。
    48行目のboard[newPos]=0が要点です。参考になりました。ありがとうございます。

    • owakiさん

      そうですね、数独の問題として不適切な場合に対応するためには、もう少しコードが必要ですね。

  2. コメントありがとうございます。まだ試していませんが、複数の解答がある場合は仮に置く数字の順序で検出できると考えています。たとえば、順に数字を置いた場合と逆順に置いた場合、答えが一致しなければ、複数解答があることになります。
    いずれにしてもプログラムのシンプルさが魅力です。
    48行目の補足
    最初、この行は46行目で数字を上書きするので不要かと思いました。
    その前の45行目でboardを使用しており、このために必要ですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です