数学つれづれ草

1対1の対応を利用した問題

遊園地の入場者数はどうやって数えているのでしょうか。入ってくる人を1人1人見ながらカウントするのでしょうか。そんなのは面倒なので,代わりに回収した入場券を数えるはずです。全員が1枚ずつ入場券を出して入れば,入場者数と入場券の数は同じだからです。
ここで利用されているのが1対1の対応という考え方です。これは,ある集合の1つ1つの要素を,別の集合の1つ1つの要素と過不足や重複なく対応させることができるとき,その2つの集合の要素の個数は同じ,というものです。これを利用すれば,個数の数えにくいものでも,別の数えやすい世界に移し変えて数えることができるというわけです。
こんなシンプルな原理も,算数や数学の問題を解くときに意外な威力を発揮することがあります。例えば,次のトーナメントの問題は有名です。

[問題1]
ある野球大会で48チームがトーナメント戦を行いました。この野球大会で行われる試合は何試合ですか。(ただし引き分け試合はなかったものとします)

そんなことは試合の組み合わせを見なければ分からないと思うかもしれませんが,組み合わせに関係なく試合数は決まってしまいます。どの試合でも1チームの負けが決まり,優勝が決まれば,全48チームから優勝した1チームを除く47チームが負けているわけですから,行われる試合は47試合です。
これはトーナメントの試合の集合を,負けチームの集合に1対1に対応させて数えたことになります。

[問題2]
下の図のように,ある規則にしたがって1番目,2番目,3番目,…と図形をかいていきます。どの図形でも1辺の長さは1cmです。例えば,1番目の図形の長さは3cm,2番目の図形の長さは15cmです。このとき,5番目の図形の長さは何cmですか。


1番目

2番目

3番目

4番目

これはヒルベルト曲線という有名なフラクタル図形ですが,そういう知識はなくても大丈夫です。これを小学生に出すと,正解する生徒は大体次のような解き方をします。

どの図形も1つ前の図形を4つ含んでいて,それらをつなぐために3本の辺が加えられているから,その長さは前の図形の長さを4倍して3を足したものになっている。

  • 1番目は,$3\,\text{cm}$
  • 2番目は,$3\times4+3=15\,\text{cm}$
  • 3番目は,$15\times4+3=63\,\text{cm}$
  • 4番目は,$63\times4+3=255\,\text{cm}$
  • 5番目は,$255\times4+3=1023\,\text{cm}$

答え $1023\,\text{cm}$

これで正解です。

ところで,このように1番目から5番目までの長さを並べてみると,ある特別な数が並んでいることに気付きます。どれも1を足すと4の累乗の数になっています。これを利用すると,答えは $4^5-1=1023\,\text{cm}$ と求めることができそうです。これにはどういう意味があるのでしょうか。

これは,図形の始点,終点,曲がり角のすべてに点を打ってみれば分かります。点は正方格子状に並ぶので,その個数は (縦の点の個数)$\times$(横に並ぶ点の個数) で求めることができます。例えば2番目の図形では $4^2=16$ 個の点があります。

一方で,この図形の各辺は,これらの格子点とほぼ1対1に対応がつきます。正確には点の方が1つ余るので,「辺の数$=$点の数$-1$」となります。(この考え方を植木算といいます)
この考え方を使うと,次のようにも解けます。

5番目は1辺に並ぶ点の数が $2^5=32$ 個なので,点は全部で $32^2=1024$ 個ある。よって,辺は $1024-1=1023$ 本ある。

答え $1023\,\text{cm}$

大雑把に言うと,正方形内のすべての格子点を通っているから,点の数と辺の長さはほとんど同じという発想です。この解き方には,次元を超えて数量を結びつけるという面白さがあります。

[問題3]
下の図のように,小立方体を積み重ねて直方体をつくりました。点Aから点Bまで串を突き通すと,何個の小立方体を貫きますか。

この問題がこの図のまま直感的に解けたらすごいです。でも,算数や数学でこういう問題を出されたときは,そういう特別な能力を要求しているのではなく,誰でも確実に解ける方法が求められているのだと考えるべきです。

まず,はじめに小立方体に区切られていない直方体を準備し,あらかじめABに串を通しておきます。その後で,この直方体を,縦に4回,横に3回,水平に2回切って,小立方体に分けると考えます。すると,串はいくつに切断されるでしょうか。

  • 縦に4回切ると,ABは4か所切断される。
  • 横に3回切ると,ABは3か所切断される。
  • 水平に2回切ると,ABは2か所切断される。

合計9回切断されることになります。ただし,このうち複数の切断点が一致するものがないか注意しなければなりません。それぞれの切断はABを等分するようになるので,ABの長さを1としてそれぞれの切断点の位置を表すと,

  • 縦に4回切るときの切断点は,
    $\[1/5]$,$\[2/5]$,$\[3/5]$,$\[4/5]$
  • 横に3回切るときの切断点は,
    $\[1/4]$,$\[2/4]$,$\[3/4]$
  • 水平に2回切るときの切断点は,
    $\[1/3]$,$\[2/3]$

これらの9個に同じ位置の点はありません。よって,串は異なる9か所を切断され,10本に分かれることになります。この10本は,はじめの問題で串が貫いた小立方体に1対1に対応するので,この串が貫く小立方体の数も10個です。つまり小立方体の個数を直接数える代わりに,その小立方体によって区切られる線分の本数を数えたわけです。

この問題も何度か小学生に出題したことがありますが,自力でこの考え方を発見するというのは難しいようでした。そこで「先に串を通してから切ると,串は何本に分かれるか?」とヒントを出すと,すぐ気が付くようです。

この問題を少し発展させたのが次の問題です。

[問題4]
下の図のように,小立方体を積み重ねて直方体をつくりました。3点A,B,Cを通る平面でこの直方体を切るとき,何個の小立方体を切断しますか。

ここでも1対1の対応が活躍します。これについては答えは書きませんので,どうやって解くのか考えてみてください。

(2005/08/29)