
フレが一ヶ月ぶりくらいに戻ってきてくれて嬉しい私です。
コンバンハ。
さて、今回はMHFとは関係のない話題で恐縮ですけど、
先日仕事中にチームのメンバーからこんなメッセというか、問題が届きました。
それぞれ同じアルファベットは、 同じ数字を表しています。
欄外の数字はその合計数字を表しています。
『?』の数字はいくつになるでしょう?A~Fの中で選んでください。

どうやら、この問題が瞬時に解けるとIQ148近くあるんだそうです。
当然、私はIQ148もあるわけがないし、
柔軟な発想力を持ち合わせているわけでもないので連立方程式で解くことを選択しました。
そして解き、間違いがないことを確認しました。
ご存知の方もいると思いますけど、私はエンジニアです。
というわけで、チームのメンバーもほとんどがエンジニアなわけですけど
そのメンバーの一人が、連立方程式よくわからんからという理由でコードを書き、
見事解答してきました。
そのコードがこんな感じ↓
(もともとは別の言語でしたが、どなたでも実行できるようJavascriptに書き換えました)
(function(){
var v, b, h, n;
var i, j, k, l;
var q1, q2, q3, q4;
var max = 60;
for(b = 0; b < max ; ++b){
for(h = 0; h < max ; ++h){
for(n = 0; n < max ; ++n){
for(v = 0; v < max ; ++v){
q1 = v + v + b + n;
q2 = h + h + n + b;
q3 = v + h + b + h;
q4 = n + h + v + v;
if(q1 == 60 && q2 == 32 && q3 == 40 && q4 == 66){
var q5 = b + n + n + v;
alert('b = ' + b + ', h = ' + h + ', n = ' + n + ', v = ' + v + ', q5 = ' + q5);
}
}
}
}
}
})();
なるほどw
シンプルだけどとりあえず解くにはこれで十分w
何をやっているかというと、V,B,N,Hを0から順に1ずつ増やしていき、
上記の問題から作り出された連立方程式を満たす数値を総当りで探しています。
機械だからこそできる力技ですね。
ちなみに、IQ148な人の解き方は連立方程式なんざ使わないそうです…。
ネタバレしたい人はココ!
よければ、連戦で疲れた脳味噌を生き返らせるために是非挑戦してみてください。
え?逆効果?
そんなーw
~あとがき~
カッコ書きでも記しましたが、上記のコードはブラウザから実行できます。
※「q5」で示される値が問題の答えになります。
- Firefoxな人
[ツール]→[Web開発]→[スクラッチパッド]にコピペして実行 - Google Chromeな人
[ツール]→[Javascriptコンソール]にコピペして実行(Enter) - IEな人
[ツール]→[開発者ツール]→[スクリプト]の">> "で表示されてる箇所にコピペし[スクリプトの実行]で確認頂けます。