第150問の解答
1.問題 [空間図形、植木算]
半径が9cmの球が、たくさんあります。
これを直径●cmの円筒に3個入れたところ50cmの高さまで入りました。では、直径が同じ●cmの円筒で、高さが370cmの筒にこの球を入れて、ふたをするとき、最大何個の球を入れることが出来るでしょうか。
2.解答例1( ありっちさん、mhayashiさん、MikiSugimotoさん、noetherさん、有無相生さん、清川育男さん、大岡敏幸さん、他多数)
図1のように、1段目の球の上に2段目の球をおくとき、高さを低くするには2つの球を水平方向に最も遠い位置におく必要がある。
図1
図2
このとき、底面(円)への射影(上方から見た図)で考えると、2つの円(球)の中心は、底面の同じ直径上にあり、それぞれ底面の円と接していることになる。
2段目の球の上に、3段目の球をおくときも同様であるため、3つの球の配置は、図2のようになる。
(d=√(182-162)=2√17≒8.25より、底面の直径=18+d≒26.25cm)従って、球が1個増えるごとに(50−9×2)/2=16cmづつ高くなることが分かります。
よって、370cmの高さにn個の球が入るとすると、
18+(n−1)×16≦370
n−1≦(370−18)/16=22
n≦23
従って、ちょうど23個入ることになります。
答:23個
以上
(参考問題)(たなかさん、中村明海さん、他)
3個入れたときの高さが30cmのとき、150cmの高さまでに
何個の球が入るでしょうか。この問題になると、本問とは状況が違ってきます。
本問同様に考えると、1個球が増えたときに高さは
(30−9×2)/2=6cm
づつ高くなることになります。
しかし、これでは3個目の球が、1個目の球にめり込むことになるので、あり得ません。
とすると、2個目の球は1個目と同様に底面についてないと駄目ということになります。
では、底面の直径Rが、球の半径r=9のちょうど2倍になったとしましょう。
このとき、3個目の球をおいたときの高さは、いくらになるでしょうか。これを求めるため、1個目と2個目の球の位置が次の図のようになるときの高さを求めてみましょう。
2つの球の中心の水平方向の距離は、
d=2(R−r)cos(θ/2)
となるので、中心の垂直方向の距離は、
h=2√(r2-(R−r)2cos2(θ/2)) ・・・(1)
となります。従って、R=2rのとき、θ=90度なので、h=2√(r2-r2/2)=r√2≒12.73、よって筒の高さは18+12.73=30.73cmとなり、30cmをわずかながら越えます。
従って、R>rでなければなりません。
上図のように配置すると、sinθ=r/(R−r)となります。
cosθ=2cos2(θ/2)−1より、
cos2(θ/2)=(1+cosθ)/2。
よって、12=2√(r2-(R−r)2(1+cosθ)/2)
36=r2−(R−r)2(1+cosθ)/2
(R−r)2(1+cosθ)=(81−36)×2=90ここで、(R−r)2=xとおくと、
cosθ=(90−x)/x
よって、
1−r2/x=(90−x)2/x2
x2−81x=902−2・90x+x2
x=902/99よって、R=9+√(902/99)=9+30/√11≒18.05cm。
次に、150cmまでの高さに入れていくときは、1段目の2つの球を底面の直径上に配置し(わずかな隙間あり)、2段目にはこれと直交するように2つの球を配置するようにすれば、効率的に積んでいける。
1段増えるごとに増加する高さhは(1)より、
h=2√(92-(30/√11)2(√2/2)2)
=42/√11
≒12.66cm
となるので、150cmまでにn段積めるとすると、
18+(n−1)×12.66≦150
n−1≦(150−180)/12.66≒10.42。よって、n≦11となり、11段まで積むことが出来ます。
1段につき2つの球を積めるので、全体では11×2=22個の球をおけることとなります。なお、22個まで積めることは分かりましたが、23個以上積むことができないことを実際に示すのは、なかなか難しいようです。
以下は、たなかさんが算チャレ掲示板に掲載された説明を、そのまま紹介させていただきます。
元の高さ30cm,150cmの場合の問題ですが、私も最大で22個までしか積めないことを確認しました。計算は一部省略しますが、一応概略を書いてみることにします。
円筒の半径をr+9とします。
既に議論されている内容から、半径30/Sqrt(11)+9のときは30cmに3個積めますので、r<=30/Sqrt(11)です。(おそらくイコールでしょうが、これは証明には使いません)
円筒を、
{(x,y,z) ; x^2 + y^2 <= (r+9)^2, 0 <= z <= 150}
と書くことにします。
問題文より条件1:
任意のsについて、高さs <= z < s+12 の範囲に球の中心は3個以上 在しない(存在すると、rがもっと小さく取れることになってしまい、矛盾する)
さて、そこで円筒を以下の12個の部分に分割します。
9<=z<21 , 21<=z<33 , ... , 129<=z<141 , z=141
条件1より、これらの中には高々2個しか球の中心は存在しません。
(もちろん、z<9,z>141にも存在しません。ここまでで、25個以上は不可能なことがわかります)
ここで、ある整数n(0,1,...,11)に対し、z=12n+9上に球の中心が存在しないと仮定します。
すると、z=12n+9より大きい部分について、
12n+9<z<=12n+21 , 12n+21<z<=12n+33 , ... , 129<z<=141
と分割を変えると、z=12n+9より小さい部分と合わせて11個の部分に分割できたことになり、それぞれの部分には2個までしか置けないので23個以上置けません。
したがって、条件2:
23個以上置くためには、全てのn=0,1,...,11に対して、z=12n+9上に少なくとも1個は球の中心がなければなりません。
(ここまでの議論はrの具体的な数値は不要です)
ここからはあらすじのみになりますが・・・
さて、ここで2個球の中心が入っている12n+9<=z<12n+21の領域を考えます(23個入るためには1ヶ所以外は2個入らなければならない)
この領域には、条件2より、z=12n+9に中心が1つ、領域の外のz=12n+21にも中心が1つあります。領域内の中心のもう1つがz=12n+9+hにあるとします。
これらの3つの中心は互いに18cm以上離れていなければなりません。
この事実より、これらの中心をxy平面に投影したときに、原点とのなす角はある値以上でなければならないことがわかります。
その角度を具体的に計算してみると、z=12n+9とz=12n+9+h上の中心のなす角は
tan t = (Sqrt(1296-4h^2-104976/r^2+648h^2/r^2-h^4/r^2))r / (324-h^2-2r^2)
を満たすtとなります。
そこで、この角度とz=12n+9+hとz=12n+21上の中心のなす角、z=12n+9とz=12n+9+h上の中心がなす角の和(f(h)とします)が360度以下になるという条件式を立てます。
これは12n+9<=z<12n+21の範囲にはz=12n+9しか解を持ちません。
(f(n)を微分していくと、上に凸であることがわかります)
このことより、各領域に2個入っているとしたら、z=12n+9上に2個あることがわかりました。
ところがもし23個あったとすると、隣り合う領域で両方とも2個という場所が必ずあるはずですが、この場合、z=12n+9とz=12n+21の両方に2個ずつ中心があることになり、これは上記の角度の関係上不可能であることが解ります。
したがって、23個以上置くのは不可能であることが解ります。