Loading...
二次元平面上に、以下の乱数生成器を用いて点群 PnP_nPn を作る:
s0=290797s_0 = 290797s0=290797 sn+1=sn2 mod 50515093s_{n+1} = {s_n}^2 \bmod 50515093sn+1=sn2mod50515093
Pn=(s2n,s2n+1)P_n = (s_{2n}, s_{2n+1})Pn=(s2n,s2n+1)
d(k)d(k)d(k)を、P0,…,Pk−1P_0, \dots, P_{k-1}P0,…,Pk−1 の任意の(異なる)2点間の距離の最小値とする。 例えば、d(14)=546446.466846479d(14) = 546446.466846479d(14)=546446.466846479 である。
d(2000000)d(2000000)d(2000000)を求めよ。四捨五入丸めして小数点以下9桁まで答えよ。
b(n)b(n)b(n) を、nnn を割り切る最大の2の冪とする。例えば b(24)=8b(24)=8b(24)=8 である。
次のように再帰関数を定義する:
A(0)=1A(0) = 1A(0)=1 A(2n)=3A(n)+5A(2n−b(n))A(2n) = 3A(n) + 5A(2n-b(n))A(2n)=3A(n)+5A(2n−b(n)) (n>0)(n > 0)(n>0) A(2n+1)=A(n)A(2n+1) = A(n)A(2n+1)=A(n)
また、H(t,r)=A((2t+1)r)H(t,r) = A \big ((2^t+1)^r \big)H(t,r)=A((2t+1)r) とする。
H(3,2)=A(81)=636056H(3,2) = A(81) = 636056H(3,2)=A(81)=636056 が与えられている。
H(1014+31,62) mod 1 000 062 031H(10^{14} + 31, 62) \bmod 1\ 000\ 062\ 031H(1014+31,62)mod1 000 062 031 を求めよ。