第三題
塵 劫 記 ・ 第三題 油分け算
10升入りの桶に、油がいっぱいに入っています。手もとには7升ますと3升ますがひとつずつ。はかりは使えません。この道具だけで、油をちょうど5升ずつに分けるには、どうすればよいでしょう。
といてみよう
答えを見る前に、紙とえんぴつで少し考えてみてください。
ヒント
3升ますで汲んで7升ますへ移す、をくり返すとどうなるでしょう。7升ますがいっぱいになったら桶へ戻します。
たねあかし
- 桶→3升ます(桶7・七0・三3)
- 3升ます→7升ます(桶7・七3・三0)
- 桶→3升ます(桶4・七3・三3)
- 3升ます→7升ます(桶4・七6・三0)
- 桶→3升ます(桶1・七6・三3)
- 3升ますから7升ますへ、入るだけ(1升だけ)移す(桶1・七7・三2)
- 7升ますを桶へぜんぶ戻す(桶8・七0・三2)
- 3升ますの残り2升を7升ますへ(桶8・七2・三0)
- 桶→3升ます(桶5・七2・三3)
- 3升ます→7升ます(桶5・七5・三0)
答え 10回の移しかえで、桶に5升・7升ますに5升
暮らしとつながる
電卓もはかりもない。あるのは形の決まった道具だけ。それでも手順を工夫すれば、ほしい答えにたどり着ける——これはそのまま、いまのプログラミングの考え方です。
決まった操作のくり返しで目的の状態を作る。油分け算は、コンピュータが生まれる300年前に日本人が解いていた「アルゴリズムの問題」でした。
考えてみよう
- 問一移しかえの回数を、10回より減らす方法はあるでしょうか(実は別の道筋もあります)。
- 問二「道具は限られているけれど、手順の工夫で解決した」経験はありますか。
- 問三この問題、実際に水と計量カップでやってみませんか。
答えのない問いもまざっています。おうちの人と話しながら考えるのも、よい学び方です。
豆知識——油分け算は、いまも数学パズルの世界で「水差し問題」として世界中で親しまれています。江戸の油屋の店先の悩みが、世界共通のパズルになりました。