2008年 日本数学オリンピック本選 問題と解答

                                       2008年 2月11日 試験時間4時間

 

 

 1. 整数係数多項式P ( x )は,ある0でない整数nについてP (n2 )0を満たす。このとき,

   0でない任意の有理数aに対してP (a2 )1であることを示せ。

 

 

[考え方]

P (a2 )1となる有理数aが存在したとして,矛盾を導きます。

 

[解答]

P (n2 )0より,P ( x )xn2を因数にもつ。よって,

    P ( x )=(xn2Q ( x )

と表される,ここで,Q ( x )は整数係数の多項式である。なぜなら,

P ( x )m次式で,xkの係数をbkとすると,組立除法より,

下に現れるm−1個の数がQ ( x )の係数となるが,これらはすべて整数どうしの積の和であるので,

みな整数である。

次に,P (a2 )1となる有理数aが存在したと仮定する。←結論を否定して,矛盾を導く。

このとき,(a2n2Q (a2 )1が成り立つ。左辺は0でないので,a2n2である。

この等式の左辺は整数である。←右辺が整数にならないことを示せばよい。

次に,pq|pn|の最大公約数をd(≧1)とする。このとき,pdMq|pn|= dNとおくと,

    q=(q|pn|)−|pn|dN|dM n|dN|Mn|) d=1になることを導いている。

だから,dqの約数でもある。pqは互いに素だから,d=1

よって,pq|pn|は互いに素である。また,q|pn|q|p|>1だから,★の右辺では,p2mq|pn|

とで約分が起こらない。すなわち★の右辺は整数ではない。

これは矛盾である。

よって,0でない任意の有理数aに対してP (a2 )1である。  (q.e.d)

 

 

 

 2. 赤いカードと白いカードがそれぞれ2008枚ずつある。2008人のプレイヤーが,それぞれ

   これらのカードのうち2枚ずつ配られた状態で,内側を向いて円形になって座る。1回のターン

   で全員が同時に次のことを行う。

      ・赤いカードを1枚でも持っていれば赤いカード1枚を左隣のプレイヤーに渡す。

       赤いカードを1枚も持っていなければ白いカード1枚を左隣のプレイヤーに渡す。

   このとき,初めて全員が赤いカードと白いカードを1枚ずつ持っている状態になるまでにかかる

   ターン数の最大値を求めよ。

   

 

[考え方] 

赤2枚を持つ人と,白2枚を持つ人の人数は常に同じです。人数が多すぎて理詰めで解くことが難しい

ので,まず総ターン数の上限を調べ,次にその値がありうることを示す,この方法で行きます。

 

[解答] 

赤2枚を持つ人をA,白2枚持つ人をB,赤白1枚ずつ持つ人をCとする。

何回ターンしても,ABの人数は同数であり,1回のターンでは,2008枚のカードの移動のうち,B

人数と同じ枚数の白いカードが回り,これ以外はすべて赤いカードである。

全員が赤いカードと白いカードを1枚ずつ持っている状態とは,あるターンののち,全員が赤いカードを

手に持つことである。

ここで,ターンを2007回行えば,必ず全員がCの状態になることを示す。←天下り的ですな。

いま,ターンを2007回行った結果,Aであった人がいたとして,その人をa0とする。

                        a0がいなければ,全員Cになっている。a0がいないことを背理法で示す。

白いカードが来ればBまたはCの状態になるので,a0ははじめからAの状態であり,すべてのターンで赤い

カードが来ていることになる。

そこで,a0の左隣をa1とし,a1の左隣をa2とし,以下順に,

a3a4,・・・,a2007とする。

右隣の人が赤いカードを持っていれば必ず赤が回るので,

  a1は,a0から必ず赤をもらう。

  a2は,a1から2回目のターンで赤をもらい,その後すべて赤が来る。

  a3は,a2から3回目のターンで赤をもらい,その後すべて赤が来る。

    ・・・・・・・         ↑このようにどんどん赤ばかりが回ってくる。

  a2007は,a2006から2007回目のターンで赤をもらう。

 

以上より,2007回目のターンで,全員が赤を持つことになるが,a0は赤を2枚所有しているので,赤の方

が白より枚数が多くなって矛盾する。

よって,ターンを2007回行った場合,Aである人はいない。つまり,全員がCの状態になる。

すなわち,ターンの最大値は2007以下である。

 

次に,2007回のターンで全員がCの状態になる場合があることを示す。

Aが1004人,Bが1004人いて,Aどうし隣り合い,Bどうし隣り合った場合を考えると,連続2回のターン

で,A1004人の右端の1人がBとなる。これを繰り返すと,2×1003回のターンで元のA1004人のうち,

1003人に白が渡り,左端の人のみがAである。次のターンでその人にも白が渡るので,これで全員が

Cの状態となる。

(答) 2007

 

 

 

 3. 鋭角三角形ABCの外心をOとする。2点AOを通る円が,直線ABACとそれぞれ

   A以外の点PQで交わっている。線分PQと線分BCの長さが等しいとき,直線PQ

   直線BCのなす角のうち90°以下の方の大きさを求めよ。

 

 

[考え方] 

BCPQから,中心角が等しいことがわかります。

 

[解答] 

2点AOを通る円の中心をO'とする。下図のように,O'AOに関してCの側にあるとしてよい。

(@)                  (A)

O'の円周角∠PAQは,∠PAQ=∠BAC または∠PAQ=180°−∠BACの2種類ある。

BCPQだから,いずれにしても,円Oの劣弧BCの円周角と,円O'の劣弧PQの円周角は等しい。

これによりそれぞれの中心角も等しいから,二等辺三角形OBCO'PQの頂角は等しい。

BCPQより,これらの底辺も等しいから,△OBC≡△O'PQ

よって,2円の半径は等しい。←この条件がカギですね。

すなわち,△AOO'は正三角形である。

次に,PQBCの交点をRとする。求める角は∠PRBである。

(@)のとき,←いっぺんに求めたいが,無理っぽい。

PRB=∠ACB−∠CQR=(∠OCB+∠OCA)−∠AQP

    =(∠O'QP+∠OAQ)−∠AQP

    =(∠O'QP−∠AQP)+∠OAQ

    =∠O'QA+∠OAQ

    =∠O'AQ+∠OAQ=∠OAO'=60°

   QがACの延長にあるときも,全く同じに示せる。

(A)のとき,

PRB=∠ACB+∠CQR=(∠OCB+∠OCA)+∠AQP

    =(∠O'QP+∠OAQ)+∠AQP

    =(∠O'QP+∠AQP)+∠OAQ

    =∠O'QA+∠OAQ  ←ここから(@)と同じ。

    =∠O'AQ+∠OAQ=∠OAO'=60°

(答) 60°

 

 

 

 4. 実数に対して定義され,実数値をとる関数 f であって,任意の実数 xy に対して,

            f ( xy ) f ( f (x )y )x f ( x )y f ( y ) 

  を満たすものをすべて求めよ。

 

 

[考え方] 

xy0などを代入して,得られる条件式から判断します。どんな関数が答えなのか見当がつかない。

f ( x )0f ( x )xは,この等式を満たしています。(大体自明な関数が答えになる) なので,答えが

こうなることを見越して導いていきます。でもこれ以外に満たす関数がないことを示すのがかなり難しい。

 

[解答] 

            f ( xy ) f ( f (x )y )x f ( x )y f ( y ) ・・・・・・(*)

(*)にy0を代入すると,←まず0を代入。

                     f ( x ) f ( f (x ) )x f ( x )

              f ( x ) f ( f (x ) )x }=0

(*)にx0yxを代入すると, ←こちらにも代入。

                    f ( x ) f ( f (0 )x )=−x f ( x )

f ( 0 )t とすると,  f ( x ) f (tx ) )x }=0

f ( x )0 ならばこれらの等式を満たし,(*)も満たすので,これ以外の関数を考える。

f ( x )0のとき,

              f ( f ( x ) )x  ・・・・・・@

              f ( tx )=−x ・・・・・・A

ここでt00でないかで場合分けをする。 ←根拠がない.が,こう分けると考えやすい。

 

(@)  f ( 0 )t0のとき

 x0で関数 f ( x )を考える。

 Aより,f ( x )0のとき, f (x )=−x (≠0) ・・・・・・A´

 f (x )0だから,A´のxに−xを代入して,

               f ( x )x  

 よって,f ( x )0となるxに対し, f ( x )x である。

               ↑これで終わりではない。f (x)0となる場合があるか,吟味が必要。

 いま,関数が常にf ( x )0ではない場合を考えているので,f ( c )0となるc(≠0)が存在している。

 そこで,f ( d )0となるd(≠0)が存在したとする。←と仮定して矛盾を導く。

 (*)にxcyd を代入すると,

                  f ( cd ) f ( f (c )d )c f ( c ) d f ( d ) 

 f ( c )cf ( d )0だから, f ( cd ) f ( cd )c2 ・・・・・・B

 c0だから,   f ( cd )0f ( cd )0

 よって,      f ( cd )cdf ( cd )cd ←うまくいった感。

 Bに代入すると,     ( cd ) ( cd )c2  c2d 2c2

 d0となり,これは矛盾である。

 よって,x0のとき,f ( x )0

 以上より,関数 f ( x )は,

             f ( x )x 

 この f ( x )は常に(*)を満たす。←代入すれば成り立つことがわかる。

 

(A)  f ( 0 )t0のとき

 f ( 0 )0だから,Aに x0を代入し, f ( t )0

 ここで,f ( c )0となる c(≠0)が存在したとする。 ←こう仮定して矛盾を導く。

 このとき,c0ct である。 ctとすればf (c)f (t)0で矛盾なので。

 Aより,       f ( tc )=−c (≠0)・・・・・・C

 f ( tc )0だから,@に xtc を代入し, ←こういう代入が可能になる。

                  f ( f ( tc ) )tc

                  f (c )tc(≠0

 f (c )0だから,Aに x=−c を代入し, ←こちらも代入できる。

              f ( tc )c ・・・・・・D

 (*)に xtcytc を代入すると, ←苦労して,この代入を発見した。

         f ( 2t ) f ( f (tc )( tc ) )( tc ) f (tc )( tc ) f (tc )

 B,Cを代入し,

         f ( 2t ) f ( 2 ct )( tc ) c( tc ) (c )

              f ( 2t ) f ( 2 ct )2 c t

 c t0だから,  f ( 2t )0 ・・・・・・E ←これが矛盾の材料になる。

 Eより,Aに x2t を代入し,

               f (t )=−2 t (≠0)・・・・・・F ←これも矛盾の材料になる。

 さらに(*)に xtyt を代入すると,

               f ( 2t ) f ( f ( t )t )t f ( t )t f ( t )

          f ( 2t ) f (t ) 0 ・・・・・・G

 E,F,Gは同時には成り立たないので,矛盾である。

 よって,f ( c )0となるc(≠0)は存在しない。←背理法。

 すなわち, x0のとき,f ( x )0

 以上より,関数 f ( x ) は,

         f ( x )0 x0のとき), f ( 0 )は任意

 このf ( x )は常に(*)を満たす。←代入すれば成り立つことがわかる。

 

(答) f ( x )x

   または, f ( x )0 x0のとき), f ( 0 )は任意

 

 

[考え方] 

問題の意味がわかりにくいのですが,

  「nを1つうまく決めたとき,どんなrについても等式が成り立つようにできる」

ということです。はじめ,「存在する」が答えだと思い込んで考えていましたが,どうも無理のようで,

「存在しない」ことをnについての数学的帰納法で証明することになります。これは相当難しい・・。

 

[解答] 

 

 とおく。 

 

nk1のときの区間を設定する。

 あとで変更があるため,qに「´」をつけておく。

 いま,pk+1 qk+1' だから,区間( pk+1 qk+1' )に有理数は存在する。