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 )はx−n2を因数にもつ。よって,
P ( x )=(x−n2)Q ( x )
と表される,ここで,Q ( x )は整数係数の多項式である。なぜなら,
P ( x )がm次式で,xkの係数をbkとすると,組立除法より,
下に現れるm−1個の数がQ ( x )の係数となるが,これらはすべて整数どうしの積の和であるので,
みな整数である。
次に,P (a2 )=1となる有理数aが存在したと仮定する。←結論を否定して,矛盾を導く。
このとき,(a2−n2)Q (a2 )=1が成り立つ。左辺は0でないので,a2≠n2である。
この等式の左辺は整数である。←右辺が整数にならないことを示せばよい。
次に,pとq+|pn|の最大公約数をd(≧1)とする。このとき,p=dM,q+|pn|= dNとおくと,
q=(q+|pn|)−|pn|=dN−|dM n|=d(N−|Mn|) ←d=1になることを導いている。
だから,dはqの約数でもある。p,qは互いに素だから,d=1
よって,pとq+|pn|は互いに素である。また,q+|pn|≧q+|p|>1だから,★の右辺では,p2mとq+|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とする。
何回ターンしても,AとBの人数は同数であり,1回のターンでは,2008枚のカードの移動のうち,Bの
人数と同じ枚数の白いカードが回り,これ以外はすべて赤いカードである。
全員が赤いカードと白いカードを1枚ずつ持っている状態とは,あるターンののち,全員が赤いカードを
手に持つことである。
ここで,ターンを2007回行えば,必ず全員がCの状態になることを示す。←天下り的ですな。
いま,ターンを2007回行った結果,Aであった人がいたとして,その人をa0とする。
↑a0がいなければ,全員Cになっている。a0がいないことを背理法で示す。
白いカードが来ればBまたはCの状態になるので,a0ははじめからAの状態であり,すべてのターンで赤い
カードが来ていることになる。
そこで,a0の左隣をa1とし,a1の左隣をa2とし,以下順に, a3,a4,・・・,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点A,Oを通る円が,直線AB,ACとそれぞれ A以外の点P,Qで交わっている。線分PQと線分BCの長さが等しいとき,直線PQと 直線BCのなす角のうち90°以下の方の大きさを求めよ。 |
[考え方]
BC=PQから,中心角が等しいことがわかります。
[解答]
2点A,Oを通る円の中心をO'とする。下図のように,O'がAOに関してCの側にあるとしてよい。
(@) (A)
円O'の円周角∠PAQは,∠PAQ=∠BAC または∠PAQ=180°−∠BACの2種類ある。
BC=PQだから,いずれにしても,円Oの劣弧BCの円周角と,円O'の劣弧PQの円周角は等しい。
これによりそれぞれの中心角も等しいから,二等辺三角形OBCとO'PQの頂角は等しい。
BC=PQより,これらの底辺も等しいから,△OBC≡△O'PQ
よって,2円の半径は等しい。←この条件がカギですね。
すなわち,△AOO'は正三角形である。
次に,PQとBCの交点を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 であって,任意の実数 x,y に対して, f ( x+y ) f ( f (x )−y )=x f ( x )−y f ( y ) を満たすものをすべて求めよ。 |
[考え方]
xやyに0などを代入して,得られる条件式から判断します。どんな関数が答えなのか見当がつかない。
f ( x )=0やf ( x )=xは,この等式を満たしています。(大体自明な関数が答えになる) なので,答えが
こうなることを見越して導いていきます。でもこれ以外に満たす関数がないことを示すのがかなり難しい。
[解答]
f ( x+y ) f ( f (x )−y )=x f ( x )−y f ( y ) ・・・・・・(*)
(*)にy=0を代入すると,←まず0を代入。
f ( x ) f ( f (x ) )=x f ( x )
f ( x ) { f ( f (x ) )−x }=0
(*)にx=0,y=xを代入すると, ←こちらにも代入。
f ( x ) f ( f (0 )−x )=−x f ( x )
f ( 0 )=t とすると, f ( x ) { f (t−x ) )+x }=0
f ( x )=0 ならばこれらの等式を満たし,(*)も満たすので,これ以外の関数を考える。
f ( x )≠0のとき,
f ( f ( x ) )=x ・・・・・・@
f ( t−x )=−x ・・・・・・A
ここでtが0か0でないかで場合分けをする。 ←根拠がない.が,こう分けると考えやすい。
(@) f ( 0 )=t=0のとき
x≠0で関数 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)が存在したとする。←と仮定して矛盾を導く。
(*)にx=c,y=d を代入すると,
f ( c+d ) f ( f (c )−d )=c f ( c )− d f ( d )
f ( c )=c,f ( d )=0だから, f ( c+d ) f ( c−d )=c2 ・・・・・・B
c≠0だから, f ( c+d )≠0, f ( c−d )≠0
よって, f ( c+d )=c+d, f ( c−d )=c−d ←うまくいった感。
Bに代入すると, ( c+d ) ( c−d )=c2 c2−d 2=c2
d=0となり,これは矛盾である。
よって,x≠0のとき,f ( x )≠0
以上より,関数
f ( x )は,
f ( x )=x
この f ( x )は常に(*)を満たす。←代入すれば成り立つことがわかる。
(A) f ( 0 )=t≠0のとき
f ( 0 )≠0だから,Aに
x=0を代入し,
f ( t )=0
ここで,f ( c )≠0となる c(≠0)が存在したとする。 ←こう仮定して矛盾を導く。
このとき,c≠0,c≠t である。 ←c=tとすればf (c)=f (t)=0で矛盾なので。
Aより, f ( t−c )=−c (≠0)・・・・・・C
f ( t−c )≠0だから,@に x=t−c を代入し, ←こういう代入が可能になる。
f ( f ( t−c ) )=t−c
f (−c )=t−c(≠0)
f (−c )≠0だから,Aに x=−c を代入し, ←こちらも代入できる。
f ( t+c )=c ・・・・・・D
(*)に x=t+c,y=t−c を代入すると, ←苦労して,この代入を発見した。
f ( 2t ) f ( f (t+c )−( t−c ) )=( t+c ) f (t+c )−( t−c ) f (t−c )
B,Cを代入し,
f ( 2t ) f ( 2 c−t )=( t+c ) c−( t−c ) (−c )
f ( 2t ) f ( 2 c−t )=2 c t
c t≠0だから, f ( 2t )≠0 ・・・・・・E ←これが矛盾の材料になる。
Eより,Aに
x=2t を代入し,
f (−t )=−2 t (≠0)・・・・・・F ←これも矛盾の材料になる。
さらに(*)に
x=t,y=t を代入すると,
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)は存在しない。←背理法。
すなわち,
x≠0のとき,f ( x )=0
以上より,関数 f ( x ) は,
f ( x )=0 (x≠0のとき), f ( 0 )は任意
このf ( x )は常に(*)を満たす。←代入すれば成り立つことがわかる。
(答) f ( x )=x
または, f ( x )=0 (x≠0のとき), f ( 0 )は任意
[考え方]
問題の意味がわかりにくいのですが,
「nを1つうまく決めたとき,どんなrについても等式が成り立つようにできる」
ということです。はじめ,「存在する」が答えだと思い込んで考えていましたが,どうも無理のようで,
「存在しない」ことをnについての数学的帰納法で証明することになります。これは相当難しい・・。
[解答]
とおく。
|
←n=k+1のときの区間を設定する。 あとで変更があるため,qに「´」をつけておく。 |
いま,pk+1 <qk+1' だから,区間( pk+1 ,qk+1' )に有理数は存在する。