トップページ > プログラム > 2015年12月14日 > R0gDPv6y

書き込み順位&時間帯一覧

33 位/189 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000022



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
★★Java質問・相談スレッド175★★ [転載禁止]©2ch.net
データ構造,アルゴリズム,デザインパターン総合スレ 2

書き込みレス一覧

★★Java質問・相談スレッド175★★ [転載禁止]©2ch.net
512 :デフォルトの名無しさん[sage]:2015/12/14(月) 23:23:14.41 ID:R0gDPv6y
>>509
if(ipaddr==WAN)
{
// WAN
}
else
{
// LAN
}
データ構造,アルゴリズム,デザインパターン総合スレ 2
814 :デフォルトの名無しさん[sage]:2015/12/14(月) 23:31:43.15 ID:R0gDPv6y
簡単な乱数生成のアルゴリズムで、線形合同法と言うのがあります。
数学のループ記述はよく分からないので、プログラム風に書くとこうです。

x = (a * x + b) % mod;

xが上書きされて何度も順番に使用さていると言う意味です。

% mod は割った余りです。
32bit環境なら
mod = 2 ** 32;
となっています。(つまり上記の式は32bitで表現できる最大値未満の乱数がxとして算出され、次の乱数生成にまた使用されます)。

64bit環境なら
mod = 2 * 64;
となっています。

x の初期値は何が入っていても構いません。(例えば式の初回使用時などに適当な値を入れます。例えば今の時間とか)。

a と b は定数で、これを何に設定するかによって乱数が良質であるか悪質であるか、また使える周期の長さが変わります。
周期が長くて良質な物を出すとき、これに何を設定すると良いのか分からないので教えてください。
32bit用と64bit用の両方をお願いします。

ちなみに、それを考えるのがどの程度大変 (または簡単) なことか分からんで質問してます。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。