こんにちは。
ブログの内容で色々書いているのですが、タイトルから全く想像できない内容になってしまっておりました。
ブログのタイトルを「ダイエット記録」から、その日の内容に変えようと思います。
ナンバープレイス
ということでナンバープレイス(ナンプレ)をご存知でしょうか?
9×9のマスが、3行毎、3列毎に仕切られていて、そこにルールに従って数字を埋めていくパズルです。
元々いくつかの数字が与えられていることをヒントに、ルール通りに数字を埋めていきます。
一時期雑誌を購入して懸賞にも応募していました。
一度も当たることなく止めてしまいましたが…。
私は昔、このパズルの答えを自動で導くプログラムを作っていました。
問題の数字をポチポチと入力していって解答プログラムを実行すると自動で残りを埋めてくれるものです。
その時使っていたのは、RealBasicというプログラミング言語でした。
VBAでExcelで動くプログラムを作っていたのですが、たまたまナンプレの記事を見かけて、VBAでこのプログラムをもう一度作りたいと思ってしまいました。
なにせ、昔作った時には、確実に入力できる箇所を書き込んでいっても解けきれないときがありました。
(そもそも論理的に数字を埋めていくと必ず解答にたどり着けるようになっているのかわかりませんが・・・)
その時は「仮置きする」という事をしていたのですがどうもこの辺りがうまくいかなかったのです。
一つの仮置きで答えにたどり着けない場合、パラレルワールドのように分岐点をいくつも作ることを考えます。
作りはじめたときはパラレルワールドの事など考慮していなかったので、作り方を大幅に変える必要があり、お手上げでした。
プログラムの話はつい楽しくなってしまうのですが、そもそもナンプレ自体をお勧めしたいと思っています。
ナンプレは数学とはまた違うかもしれませんが、思考力をトレーニングするのには良いと思います。
楽しみながら論理的な思考を養うことができると思いますのでお勧めです。