過去ログ

uchinyan
#26524 他
ちょっと見ない間に、スモークマンさんの問題で盛り上がって、早くも、収束してしまいましたね。
#26526で解法は尽きていると思うので、その意味ではコメントはないのですが、
二乗することに気付かないでもうまくいかないのかなぁ、と思って、その方向を少し考えてみました。
ただし、解法としては、ナイーブだと思うのですが、その分、評価が不十分なので、残念ながら失敗作ですが、
結果はちょっと興味深いので、ご参考までに、報告しておきます。

まず明らかに、a(n) は単調増加です。そこで、今 a(n) の整数部分を k >= 2 とすると、
最初に整数部分が k になるものがあります。それを改めて a(n) とします。
このとき、a(n-1) < k で、
a(n) - (k + 1/k) = a(n-1) + 1/a(n-1) - k - 1/k = (a(n-1) - k) * (1 - 1/(a(n-1) * k)) < 0
つまり、a(n) の小数部分 b(n) は 1/k よりも小さくなります。
一方、a(n) に対して、
a(n+m) = a(n) + 1/a(n) + 1/a(n+1) + ... + 1/a(n+m-1)
ですが、a(n+m-1) までの整数部分が k とすると、
1/(k+1) < 1/a(n+m-1) < ... < 1/a(n+1) < 1/a(n) <= 1/k
m/(k+1) < 1/a(n) + 1/a(n+1) + ... + 1/a(n+m-1) < m/k
そこで、a(n) の小数部分 b(n) も考えると
m/(k+1) <= b(n) + m/(k+1) < b(n) + 1/a(n) + 1/a(n+1) + ... + 1/a(n+m-1) < b(n) + m/k < 1/k + m/k
さて、a(n+m) の整数部分が k+1 になるには...
最後の不等式より、m <= k-1 では a(n+m) の k 以外の部分は 1 より小なので、m >= k が必要です。
また、最初の不等式より、m >= k+1 で a(n+m) の k 以外の部分は 1 以上なので、
m = k+1 で a(n+m) の整数部分が k+1 になれば、m >= k+2 でも成立します。
したがって、一般に、a(n) の整数部分が k で a(n+m) の整数部分が最初に k+1 になる範囲の m は k <= m <= k+1 になります。
つまり、これは、整数部分が k になるような a(n) の個数は、k 又は k+1 ということです。
この情報から、整数部分が k になるような a(n) の個数がすべて k の場合の、
整数部分が k までの a の個数の総数は、k(k+1)/2 です。
今は a(100) を考えているので、k(k+1)/2 >= 100 、つまり k >= 14 で条件を満たします。
これは、a(100) の整数部分が 14 になることを意味します。
しかし、残念ながら、整数部分が k になるような a(n) の個数がすべて k+1 の場合も考えられ、
この場合は、k = 1 は 1 個であることを考慮すると (k+1)(k+2)/2 - 2 >= 100 で、k >= 13 となります。
実際には、整数部分が k になるような a(n) の個数は k だったり k+1 だったりするので、
条件を満たす k は、13 か 14 か、これだけでは決定できないようです。
ただ、確率的にどちらになるか半々、と仮定すると、総数は大体 k(k+1)/2 + k/2 = k(k+2)/2 となり、
k = 14 となって、a(100) の整数部分は 14 だろうなぁ、と予想できます。
一応プログラムも組んで a(1000000) までチェックしてみましたが、
「確率的にどちらになるか半々」というのは、おおよそ、正しそうな感じです。正確に 1/2 ではないようですが...
あ、もちろん、a(100) の整数部分が 14 というのもチェックできます。
もう少し評価をうまくやれば、このナイーブな方法でも、正解にたどり着けるかもしれません (^^;

(ちょっと追加)
a(n)を#26526の方法でそのまま評価すると
(1) sqrt(2n) < a(n) < sqrt(2n + (n-2)/4) = sqrt(9n-2)/2
になるようです。一方、「確率的にどちらになるか半々」の仮定を入れた上記の方法では、
(2) k >= sqrt(2n+1) - 1 を満たす最小の整数 k
になります。n = 20000 とすると、
(1) 200 < a(20000) < 212.13...
(2) k >= 199.0024..., k = 200
プログラムによる計算では、[a(20000)] = 200 となりました。
スモークマンさんの予想、[a(n)] = [sqrt(2n)] は正しそうですが、(1)の評価は、そのままでは少し甘いようです。
当然ですが、(1/a(2))^2 + (1/a(3))^2 + ... + (1/a(n-1))^2 の評価の見直しが必要になりますね。
ネコの住む家   1月23日(月) 22:56:40   MAIL:uchi@sco.bekkoame.ne.jp   26529

過去問題一覧へ戻る