忙中閑話

四季の移ろい、花鳥風月を楽しみつつ
趣味はミニチュア木工、電子工作、旅行など

閑話・・・数字パズル、数独をVABマクロで解く(part3/3) プログラムの展開

2012-06-27 | 趣味
 VBAマクロはプログラムを組むのも面白いが、プログラムがうまく作動しているのかを途中を見るのもワクワクして楽しい。
 今回、計算の展開をコマ撮りして動画にしてみた。実際はもっと滑らかにできるのだがブログにアップできるファイル容量に限界があるようで、コマ抜きしてさらに4分割せざるを得なかった。


ステップ1
最初に問題のスペースのカラムのところに"123456789"を代入。
Ansewのカラムにも問題の数字を転写。
 


ステップ2
数字の判っているカラムの縦一列、横一列、該当するブロックすべの"123456789"からこの数字を抜く。数字を全て抜き終わって文字(数字)が1個になったらそのカラムの数字となる。さらにこの数字を縦、横、ブロックの文字を抜く。これの繰り返し。
難易度4クラスまでならこの操作で答えが出るが、この問題の場合は、残った文字が1個になるのは右端、上から3番目の”2"だけ。


この操作の最後の画面。残った文字が2個だけのカラムが、左1列目の1行目、同8行目、左から6列目の2行目の3箇所ある。


ステップ3
残った文字が2個だけのカラムの合計6個の数字を順に仮置きして計算を続ける。
まずは第1列1行目の”3”から始める。

これは正解なし。次の”9”、そして次のカラムの”1”も不正解。

そして次の”3”を仮置きして計算すると見事に正解が見つかった。



ただそれだけのことだが、プログラムを組んだことのある人はこの面白さがわかってもらえると思う。きっと。


最新の画像もっと見る

コメントを投稿