• ベストアンサー

 格子点の問題。可能な限り易しく教えて下さい。

「x,y平面上で、x座標とy座標がともに整数であるような点(m、n)を格子点とよぶ。 各格子点を中心として半径rの円が描かれており、傾き2/5の任意の直線は、これらの円のどれかと共有点をもつとする。このような性質をもつ半径rの最小値を求めよ。」 東大の過去問です。馬鹿な私にもわかるように詳しくご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.2

 「半径rの最小値を求めよ」と書いてあるせいで混乱しちゃいそうですけど、「このような性質」を持たない、という条件を考えてみれば、問いが求めているのは結局の所「『直線と、任意の格子点との距離』の最小値」の(bを動かしたときの)最大値。まずこれが分からんとアキマセン。  あとは、とりあえずグラフを描いてみれば、答だけならスグ出るんじゃないでしょうか。  以下は図を描けば直ちにわかることを、わざとヤヤコシく言い直しているだけ:  記号を用意する。直線の方程式を   y=f(x,b)   f(x,b) = (2/5)x + b とする。格子点(m,n)と直線y=f(x,b)の距離D(b,m,n)は   tanθ = 2/5   α = cos(|θ|)   H(b,m,n) = | f(m,b)-n | と書くと   D(b,m,n) = α H(b,m,n) である(上の図)。  そして「『直線と格子点の距離』の最小値」   d(b) = min{ D(b,m,n) | m∈Z, n∈Z} (Zは整数) の最大値   r = max{ d(b) | b∈R } (Rは実数) を計算したい。  bの範囲を絞ります。任意のx,b,m,nについて   D(b,m,n) = D(b+2/5, m+1, n) より   d(b) = d(b+2/5) だから   r = max{ d(b) | -1/5≦b<1/5 } さらに   D(b,m,n)=D(-b,-m,-n) つまり   d(b) = d(-b) なので、   r = max{ d(b) | 0≦b≦1/5 } 要するに、0≦b≦1/5についてだけ調べれば良い。  次にmの範囲を絞ります。任意のx,b,m,nについて   D(b,m,n)=D(b,m+5,n+2) なので、   d(b) = min{ D(b,m,n) | 0≦m<5, n∈Z} つまり、m∈{0,1,2,3,4}だけ調べれば良い。  最終的に、(m,n)の範囲を絞ります。   s(m,b) = min{ H(b,m,n) | n∈Z} と書く事にすると、任意のbについて   0≦b≦1/5 ⇒ d(b)= α min{ s(m,b) | 0≦m<5} である。そして、0≦b≦1/5のとき、(下の図)   s(0,b) = H(b,0,0) ≦1/5   s(1,b) = min{H(b,1,0), H(b,1,1)} ≧1/5   s(2,b) = H(b,2,1) ≦1/5   s(3,b) = H(b,3,1) ≧1/5   s(4,b) = H(b,4,2) ≧1/5 要するに、(m,n)∈{(0,0),(2,1)} (●)以外(○)は関係ない。  で、   r = α max{ min{s(0,b), s(2,b)} | 0≦b≦1/5}

rinnkoxxxx
質問者

お礼

回答ありがとうございます><

その他の回答 (1)

  • naniwacchi
  • ベストアンサー率47% (942/1970)
回答No.1

こんにちわ。 「だだっ広く」考えてしまうと切りがないので、うまく絞り込みます。 うまくというほどでもないのですが、 ・まず、円は格子点を中心に同じ半径で規則正しく並んでいます。  つまり、円は周期性をもって並んでいることになります。その周期は 1です。 ・動くのは、傾き 2/5の直線の y切片だけです。 ということから、 直線が y= 2x/5から y= 2x/5+ 1の間を動くときを考えればよいことがわかります。 式で書けば、y= 2x/5+ L、0≦ L≦ 1ということです。 (見づらいので、ここでは Lを大文字で表現します。) 直線が動いていくと、直線からもっとも「遠い」格子点が変わっていきます。 そして、直線:y= 2x/5+ Lが半径:rの円に「接する」ときがどうなるかを考えます。 その中で最大となる半径が答えになります。

rinnkoxxxx
質問者

お礼

回答ありがとうございます><

関連するQ&A

専門家に質問してみよう