あいだが空いてしまった。ちょうど1週間だ。5月の連休中から Scala のエントリを1月以上も連続で更新してたのに。まぁ、別にいいんだけど。
で、今日から再開ということで Scala をやろうと思ったんだけど、事情があって Haskell だ。
数独っていうパズルがある。ナンプレともいう、マス目に 1 から 9 の数字を入れていくアレだ。暇つぶしにやってたんだけど、入門編の問題くらいはともかく、それ以上になると途端に難しくなる。向いてないのかもしれない。
ともかく、こんなのやってられねーってわけで、問題を解くプログラムを作ってみた。Haskell で。
作ったものは GitHub にあげたので見てほしい。
使い方はこんな感じ。
^o^ > type example2.txt 87 928 15 1 14 8 485 6 43 5 51 924 92 ^o^ > sudoku example2.txt 431658792 928734615 675921438 147362859 392485167 856197243 284519376 513876924 769243581
問題は 9 × 9 マスに入っている数字を 9 文字 × 9 行のテキストファイルにして、sudoku プログラムにファイル名を渡してやるだけ。
「数独 難問」でググって出てきた問題でもあっという間に解ける。ああ、気持ちいい。