今回はちょっと趣向を変え、疑似乱数の作り方について話します。乱数については第1部第75章でやりました。この時、「疑似乱数はある初期値を元に計算を行って生成されます」といいました。今回はその方法の1つ「線形合同法」について話します。 疑似乱数生成ルーチンを自作すると、いろいろ面白いこともできるでしょう。 では、今回の要点です。 x i+1=(ax i+c) MOD Mという数列は乱数っぽく見える。 合同法乱数は周期性を持っている。 合同法乱数は1個ずつ使えばランダムだが、組にして使うとランダム性が低い。 合同法乱数は上位ビットを取り出してから使うとよい。 では、いってみましょう。 一見でたらめな数を計算で出すにはどうすればいいでしょうか? 普通の四則演算などを行っていると、何か規則性の見える結果がでてきます。かといって、ややこしい計算をしてでたらめな数がでてきても、速度が欲しいときには実用的