◆広島県 清川 育男 さんからの解答。
プログラムを組んで検索しました。
(X,Y)=(1197,3970)
![]()
=0.00012596・・
<0.00050025・・
=1/1999
とりあえず1組、発見しました。
プログラムを組んでもあらかじめYの予想がないと無理でしょうね。時間的に。
X,Yの2次のループではということです。
1をうまく使えばXの1次のループで検索出来ます。
【コメント】
この問題の出題者の意図は鳩の巣箱の原理を使っての証明のようです。
◆東京都 けめ丸 さんからの解答。
n を整数とすると、
f(n) =
n−[
n]
([x]は x を超えない整数を表す)
は、
が無理数であることから、以下のことが成り立ちます。
0 < f(n) < 1
f(n) は無理数
n ≠ m ならば f(n) ≠ f(m)
#つまり、f(n) は
nの小数部分です。
区間 [0,1]を 1999 等分すれば、
f(1), f(2),...,f(2000) のうちの2つの値を含む区間が、少なくとも1つ存在します。
(鳩の巣箱原理)
この区間内の2つの値を f(a), f(b)(a > b)とします。
f(a), f(b) は無理数なので、区間の境界
(k/1999, k=1,2,...1998)上にはありません。
また、各区間の幅は 1/1999 です。よって、
|f(a)−f(b)|
=|
(a − b)−([
a]−[
b])|
< 1/1999
x = a − b,
y =([
a]−[
b])とおけば、
1 ≦ x ≦ 1999 より、題意を満たします。