Problem 803 「疑似乱数的な数列」

Rand48 はいくつかのプログラミング言語で使われる疑似乱数生成器です。これは任意に与えられた整数 a0 から数列をルール「 an = ( 25214903917 * an-1 + 11 ) mod 248 」に従って生成します。

bnan/216 の整数部分を 52 で割った余りとします。数列 b0b1b2... は無限文字列 c=c0c1c2... に次のルールを介して変換されます。 : 0 → a, 1 → b, ..., 25 → z, 26 → A, 27 → B, ..., 51→Z

例えば、もし a0 = 123456 と選ぶと cb Q Y i c N G C Y ... で始まります。さらに、 100 番目のインデックスから始めると最初に R x q L B f W z v という部分文字列に出会います。

あるいは c がもし E U L E R c a t s ... で始まっていると、 a0 = 78580612777175 に違いありません。

cP u z z l e O n e ... で始まっていると仮定します。 c の部分列として最初に L u c k y T e x t が現れるインデックスを求めてください。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-07-25 (月) 22:35:36