2014年8月8日金曜日

つるかめ算

下克上受験を読んでいると つるかめ算のことが書いていた。

なんかあったなーと思い出し、今のぼくならどうするか考えてみた。

【問題】
1個30円の まぁまぁなお菓子 と 1個50円の ちょっといいお菓子 をあわせて25個かって930円支払いました。
1個30円のお菓子は何個買いましたか。

これがつるかめ算というらしい。

方程式以外の方法でやるとしたら
便利な公式とか、解き方なんぞすべて忘れている。
ゆえに、方法は 1つ、ブルートフォース(無理矢理)。
ハッキングしてログインするには、 aaaa aaab aaac とかいうようにパスワードぽい文字の組み合わせを
全部試していく 無理矢理な方法が一番メジャー。
この方法を、つるかめ算に応用すると

1個30円のお菓子を25個買った場合 750円
1個30円のお菓子を24個買った場合 30x24 + 50 = 770円
1個30円のお菓子を23個買った場合 30x23 + 50x2 = 790円
1個30円のお菓子を22個買った場合 30x22 + 50x3 = 810円
1個30円のお菓子を22個買った場合 30x21 + 50x4 = 830円
ここで、途方に暮れる。
とてもめんどくさい。

しかしよくみると、50円の ちょっとお菓子を1個ふやして、30円のお菓子を1個減らすたびに
20円ずつ増えていっているようなきがする。
ということは

930円 - 750円 を 20 円で割った個数が 50円のお菓子の個数となり 
25個から50円のお菓子を買った個数を引いたら 30円の個数に成る。
180円/20円 = 9個
ちょっといいお菓子 50円のお菓子の個数は、9個。
25個から 9個を引いたら 30円のお菓子の数に成るから
30円のまぁまぁなお菓子は 16個。

参考書や問題集の回答では
50円のお菓子基準で考えて

(1250 - 930)/20 = 16

とだけ書いてあるらしい。
そりゃ、挫折する人がふえるわ。
ある意味 受験産業の陰謀だな。

そういう方向で。

【参考】ブルートフォースアタック
http://www.atmarkit.co.jp/aig/02security/bruteforceattack.html

0 件のコメント: