« NTTドコモ、LTE「想いをつなぐ」篇のCMソングはSPICY CHOCOLATEの”ずっと feat.HAN-KUN & TEE”。出演は黒島結菜さんと葉山奨之さん-オリジナルラブの接吻に似てるな、確かに。2/4のスッキリ!で加藤浩次さんが、オリジナルなんですか?と鋭い突っ込み。 | トップページ | NORAD(&Microsoft)とGoogleのサンタさん追跡、今年2013はなんとか同じ追跡ルートになるかも。Bingの責任者が語った。 »

2013年12月 5日 (木)

テンパズル(Make10、4つの数字の四則演算で10を作る)をExcel VBAで計算(アルゴリズムの宝箱の逆ポーランド記法解法の移植)

Google Nexus 7のCMで、1,1,5,8と+、-、×、÷を使って10を作る話がでてました。

Google Nexus7 のCM 10 Puzzle(算数チャレンジ、1,1,5,8に+、-、×、÷を用いて答えを10にしましょう)の答えは、、、

こういうのを計算するプログラムを作りたいな、と思ったのですが、括弧の処理とかどうすんだろう、、、とか考えていると逆ポーランド記法を使って解いている例が!そうか、括弧の処理不要だなあ。うまいこと考えられているもんだ。

これです。↓ ”プログラミングの宝箱 アルゴリズムとデータ構造”にC言語の例が出てました。

 

サンプルプログラムがここから見られる。

http://www.sbcr.jp/books/img/takarabako/

ということで、これをExcel VBAに移植してみましょう。こちら。

「Make10.bas」をダウンロード

これを使うとこんな風にExcelのセルに答えが入る。

Make10excel

ではGoogleのCMの例をみると、、、

1 1 5 8 は 8 1 1 5 / -  /

となっている。つまり逆ポーランド記法なんで日本語っぽく、

”8を1から1を5で割ったものを引いたもので割る”

ということなので

8÷(1-1÷5) = 8/(4/5) = 8*5/4 = 10

となる。他をみてみると、例えば9999は、9 9 * 9 + 9 /

なので、”9に9と9をかけたものを足して、9で割る”

(9+9*9)/9 = 90/9=10だ!

他は、、、こういうのは自分で考えた方が面白いのでやめときましょう、、、

« NTTドコモ、LTE「想いをつなぐ」篇のCMソングはSPICY CHOCOLATEの”ずっと feat.HAN-KUN & TEE”。出演は黒島結菜さんと葉山奨之さん-オリジナルラブの接吻に似てるな、確かに。2/4のスッキリ!で加藤浩次さんが、オリジナルなんですか?と鋭い突っ込み。 | トップページ | NORAD(&Microsoft)とGoogleのサンタさん追跡、今年2013はなんとか同じ追跡ルートになるかも。Bingの責任者が語った。 »

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« NTTドコモ、LTE「想いをつなぐ」篇のCMソングはSPICY CHOCOLATEの”ずっと feat.HAN-KUN & TEE”。出演は黒島結菜さんと葉山奨之さん-オリジナルラブの接吻に似てるな、確かに。2/4のスッキリ!で加藤浩次さんが、オリジナルなんですか?と鋭い突っ込み。 | トップページ | NORAD(&Microsoft)とGoogleのサンタさん追跡、今年2013はなんとか同じ追跡ルートになるかも。Bingの責任者が語った。 »

最近の記事

最近のコメント

2025年1月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
フォト
無料ブログはココログ