MathLabs

第6問

円周上に nn 個のランプ L0,…,Ln−1L_0,\ldots,L_{n-1} があり、n>1n>1、Ln+k=LkL_{n+k}=L_k とする。ステップ sis_i では、Li−1L_{i-1} が点灯していれば LiL_i を反転し、そうでなければ何もしない。初めは全ランプが点灯している。(a) ある正整数 M(n)M(n) が存在し、M(n)M(n) 回後に全点灯へ戻ることを示せ。(b) n=2kn=2^k なら M(n)=n2−1M(n)=n^2-1 とできることを示せ。(c) n=2k+1n=2^k+1 なら M(n)=n2−n+1M(n)=n^2-n+1 とできることを示せ。
ステップ 1/5: ランプを符号化する
ざっくり言うと

順次更新なので各ランプは更新済みの前のランプに依存する。

xi∈F2x_i\in\mathbb F_2
詳しい解説

LiL_i が点灯なら xix_i は 1、消灯なら 0 とする。反転は二元体で 1 を加えること。1 周の後の値は y0=x0+xn−1y_0=x_0+x_{n-1}、ii は 1 から n−1n-1 までとして yi=xi+yi−1y_i=x_i+y_{i-1} を満たす。