れいさんの検証プログラムで試したら4613120回でした。 これは線形合同法(LCG)を元に私が考えたオリジナルのアルゴリズムであるためシードに依存しない乱数かを調べるためX、Yの組み合わせが何通りあるかを実機で確かめたのですが、その検証プログラムにバグがあったのかもしれません。 ちなみにリスト短縮前のプログラム(0~4095の乱数を発生)Y=(Y+1)%4095X=(X*117+Y)%4096で試してみるときっちり理論値通りの16773120という周期になりました。(つまりリスト短縮の際に数値を変えたら周期が短くなった) mkIIは乗除算や剰余よりも代入が遅いためCLCGは重いので私の考えたLCG改良版は通常のLCG並の軽さで数値さえ間違わなければCLCGに匹敵する周期を確保できるというのは分かってもらえたのではないかと思います。