C言語関係掲示板

過去ログ

No752 乱数を作る関数を作る

[戻る] [ホームページ]
No.9372

乱数を作る関数を作る
投稿者---hyth(2003/09/20 16:00:22)


乱数を作る関数を作るにはどうしたらよいでしょう?
検索しても「rand()をつかって・・」とかしかでてきません。
randを使わずに自作関数で乱数を表示させたいんです。
参考ページとかでもいいんで教えてください。

ちなみに、rand()はsrand()で同じ値を与えると、どの処理系でも同じ値を変え寸でしょうか?

No.9373

Re:乱数を作る関数を作る
投稿者---たいちう(2003/09/20 17:50:04)


簡単なのはこっち
http://mukun_mmg.at.infoseek.co.jp/mmg/bncpp/al013.html

難しいのはこっち
http://www.math.keio.ac.jp/~matumoto/mt.html

# "乱数 アルゴリズム"でぐぐったらすぐ出たぞ。惜しむな。

> ちなみに、rand()はsrand()で同じ値を与えると、
> どの処理系でも同じ値を変え寸でしょうか?

コンパイラに依存します。
少なくとも同じ値を返すことは保証されていません。

No.9375

Re:乱数を作る関数を作る
投稿者---hyth(2003/09/20 23:34:25)


># "乱数 アルゴリズム"でぐぐったらすぐ出たぞ。惜しむな。

あ、本当ですね^^;すみません。
わかりましたありがとうございました。m(_ _)m

No.9390

Re:乱数を作る関数を作る
投稿者---ゆかり(2003/09/22 15:00:16)


簡単に、現在時刻を使うのはダメですか?


No.9391

Re:乱数を作る関数を作る
投稿者---たいちう(2003/09/22 15:13:54)


役に立つケースは少ないと思います。

現在時刻を秒単位で持つとして、1秒間に何度も乱数が必要なら?
現在時刻をミリ秒単位で持つとしても、比較的規則正しい周期で
乱数を必要とするなら?

これらの問題を回避する方法を実装するよりも、現在時刻は
乱数列の初期値作成だけに使う方法がよいでしょう。