4桁の数字のそれぞれを、+-×÷とあと( )を使って10を作るって遊びは知ってますか?
例えば、2351だったら、(2+3+5)×1=10となります。
高校生の時、ちょっと流行って、最近は電車の中の塾の頭の体操のような広告でも使われたりしています。昔はスイカとかパスモとか無かったので、電車に乗る時に買う切符に書かれた4桁の数字で遊んだりとかしていました。それで、少し難しい問題で1199というのが有ります。答えは載せません。自分でこれを解くと結構快感でしょう。私は高校生の時に降参して人から答えを聞いてしまいましたが。
それで、その答え自体でなく、昨日の夕方から、では0000~9999で10が作れる数字が出る確率はどれくらいなのかが妙に気になり、昔使っていたBASICを使って解いてみました。プログラミング自体より、四則混合と括弧の組み合わせがいくつあるかとかを書き出すのに時間が掛り、昨日から風邪気味で調子が悪いのにとり付かれてしまって結局やりとおしてしまいました。ひょっとするとバグというか見落としが有るかもしれませんが、8098パターンで10が作れたので、約8割の4桁数字から10が作れるのですね。思ったより確率高かったです。ついでに3784とかも難しいかも。中級レベル?で9999とか。ちなみにBASICで:を使って1行の文を少し長く書いていたのですが、:を3つも4つも使ってはいけないんですね。それに気付かず2時間くらい無駄な時間を使ってしまった。。。(:が沢山あることが問題なのではなく、:使って区切った中の条件分岐の作り方が駄目だったようです。)
でも出来たので、今日はこの辺でお休みなさい。