エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ロベールのC++教室 - 第31章 出鱈目? 規則的? -
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
ロベールのC++教室 - 第31章 出鱈目? 規則的? -
今回はちょっと趣向を変え、疑似乱数の作り方について話します。乱数については第1部第75章でやりま... 今回はちょっと趣向を変え、疑似乱数の作り方について話します。乱数については第1部第75章でやりました。この時、「疑似乱数はある初期値を元に計算を行って生成されます」といいました。今回はその方法の1つ「線形合同法」について話します。 疑似乱数生成ルーチンを自作すると、いろいろ面白いこともできるでしょう。 では、今回の要点です。 x i+1=(ax i+c) MOD Mという数列は乱数っぽく見える。 合同法乱数は周期性を持っている。 合同法乱数は1個ずつ使えばランダムだが、組にして使うとランダム性が低い。 合同法乱数は上位ビットを取り出してから使うとよい。 では、いってみましょう。 一見でたらめな数を計算で出すにはどうすればいいでしょうか? 普通の四則演算などを行っていると、何か規則性の見える結果がでてきます。かといって、ややこしい計算をしてでたらめな数がでてきても、速度が欲しいときには実用的