こんにちは。東大数学科の鹿野です。
今回は、大学入試問題のなかで史上最も難しいといわれている、1998年東京大学後期理系数学第3問(2)について、解説します。
そんな難しい問題、自分には理解できないかも……と心配している方もいるかもしれませんが、ご安心ください。実はこの問題、問題文を理解するだけなら数学の知識は全くいりません。
また、中学1年生レベルの簡単な数式で解くこともできます。
目次
◎「伝説の東大入試」と呼ばれる理由
◎実際の入試問題を見てみよう
◎何から手をつけたら良いかわからない、そんなときは?
◎「不可能」を証明する? この問題のクライマックス
◎難しい数学問題を解くコツ
予備校が解けないほど難しい!
さて、実際に出題された問題を見る前に、今回扱う入試問題がどれほど難しいかがわかるエピソードをひとつご紹介します。
この伝説の入試問題に頭を悩ませたのは、受験生だけではありません。毎回、インターネットや新聞で解答速報を公開している予備校も大変な混乱だったそうです。
ある予備校では問題を入手したものの、あまりの難しさに解答作成を中断し、スタッフは帰宅することに。別の予備校でも受験日当日に解けなかったため、大学助教など外部の専門家に協力を求め、受験日から2日後にやっと解答を作り上げたのだとか。
予備校や専門家が知力を結集しても苦戦するレベル。この問題が、いかに難しかったかがわかります。
本当にこんな難問が、中1程度の数学の知識で解けてしまうのでしょうか?
実際の問題
これが実際の入試問題です。ただし、この後わかりやすく解説しますので、詳しく読まなくても大丈夫です。
問題文を読むのすら嫌になってしまいそうですね。しかし次のように、易しく読みかえることができます。
それがこちらです。
ずいぶんと簡単な見た目になりましたね。ただ、「条件」の部分が少しわかりにくいかもしれないので、少し例を見てみましょう。
例えば、以下のように〇を5個追加すれば、〇が6個並ぶため、n=6は条件を満たします。
しかし、最初の〇に〇を1個だけ追加した場合を考えると、〇●または●〇となります。〇が2つ並ぶことはありません。つまり、n=2は条件を満たしません。
では、n=100やn=2021などは条件を満たすか? どんなnが条件を満たすか? ということを考えるのがこの問題です。
以降は、読みかえた問題文で考えていきます。また、「〇をn-1個追加して、最初にあった石と合わせて〇をn個並べることは可能である」を単に「〇をn個並べることは可能である」などと表します。
実験して答えを予想してみる
読みかえによって見た目は簡単になりました。 しかし、オセロの石を使った数学の問題をあまり見たことがないため、解答の方針をいきなり立てるのは難しいのではないでしょうか。
そこで、まずはこの問題設定に慣れるため、実際に手を動かしてオセロの石を置いてみましょう。
最初に置いてある石は1個の〇のみです。ここに〇を1個追加する方法は2通り(右端/左端に追加)あります。このうち、例えば右端に追加する場合は、ルール1が適用されるため●〇となります。
また、この●〇に、さらに〇を1個追加する方法は3通り(右端/真ん中/左端に追加)あります。
このようにして、最初に置いてある〇に、〇を1個ずつ追加していくと、以下のような表が得られます。
赤線で囲まれた部分に注目すると、〇を1,3,4個並べることが可能であることがわかります。つまり、n=1,3,4は条件を満たします。一方、先ほど説明したように〇を2個(n=2)並べることはできません。
同様にして、n=5は条件を満たさず、n=6は条件を満たすことがわかります。したがって、
- n=1,4は条件を満たす(3で割った余りが1)
- n=2,5は条件を満たさない(3で割った余りが2)
- n=3,6は条件を満たす(3で割った余りが0)
が成り立つので、
- nを3で割ったときの余りが0,1のときは条件を満たす
- nを3で割ったときの余りが2のときは条件を満たさない
と予想できます。これを証明すれば良さそうです。
手を動かして実験してみることで、問題設定に慣れるだけでなく、解答の予想や証明の大まかな方針まで立てることができました。
まずは「可能」であることを証明しよう!
まずは、nを3で割った余りが0,1のときに条件を満たすことを証明します。つまり、〇を1,4,7,……個および3,6,9,……個並べることが可能であることを証明します。
先ほどの表を見てみましょう。
赤線で囲まれた部分に注目します。〇を「右端、右端、右から2,3番目の石の間」の順に3回追加することで、〇を4つ並べることができています。
同様にして、さらに〇を3回追加することで、〇を7つ並べることができます。
このように「右端、右端、右から2,3番目の石の間」という追加法を繰り返すことで、〇を1,4,7,……個並べることが可能です。
また、〇を3個、6個並べることが可能であることは既に証明したため、同様にして〇を3,6,9,……個並べることも可能です。
したがって、nを3で割った余りが0,1のときは条件を満たすことが証明されました。
これでひと山越えた! ……と思いきや、ここからが本番です。