- ベストアンサー
乱数の生成法
乱数を生成するようなショートプログラムを知りたいのですが、 どんなものがありますか? C言語でお願いします。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- 完全な乱数を生成する方法
C言語で乱数を生成するときに、今まで srand(time(NULL)); を使用していたのですが、それだと1秒以内に複数の処理を行った際に、 同一の乱数が生成されてしまいます。 時間にとらわれずに完全にランダムな数字を出現させるにはどのような方法を取るのが簡単なのでしょうか? よろしくお願いします。
- ベストアンサー
- C・C++・C#
- ある乱数生成法により,生成した最初の乱数の値は固定するか確かめて頂きた
ある乱数生成法により,生成した最初の乱数の値は固定するか確かめて頂きたいです. 0.0から1.0までの一様乱数を発生させる方法です. C言語のコードは以下に載せます. #define IA 16807 #define IM 2147483647 #define AM (1.0/IM) #define IQ 127773 #define IR 2836 #define MASK 123459876 float ran0(long *idum) { long k; float ans; *idum ^= MASK; k=(*idum)/IQ; *idum=IA*(*idum-k*IQ)-IR*k; if (*idum < 0) *idum += IM; ans=AM*(*idum); *idum ^= MASK; return ans; } この乱数生成法をBVAで,計算の中で繰り返し用いようとしています. idumを任意の整数値に設定・再設定すれば乱数列が初期化されると書いてあったため,idumの値を変えてみましたが,生成された乱数の最初の値は固定されたままでした. そこで,もともとこの乱数生成法がそのようになっているのかを教えて頂きたいです. よろしくお願いします.
- ベストアンサー
- その他(学問・教育)
- 乱数生成について
VisualBasic2010を使用しています。 コード内に複数回、乱数を生成しています。 普段は始めだけRandomizeして、Rnd関数を使用していて、毎回違う乱数を生成させているのですが、 今回は毎回同じ乱数を生成させたいのですが、どうやったらできるでしょうか? シード値をどうこうするとは、わかったのですがやり方がわかりません。 わかる方、どうぞよろしくお願いします。
- ベストアンサー
- Visual Basic
- 桁数の多い乱数の生成法
50桁から300桁といった桁数の多い乱数の生成法を探しています。 乱数生成アルゴリズム等を使用するのは、ネットで調べてわかるのですが、具体的な方法がほとんど載ってませんでした。 詳しくのっているページがあれば、教えてください。
- 締切済み
- 科学
- 乱数発生関数randomなど
random, srandom, initstate, setstate で乱数を生成できることを知りましたが、運用方法がよくわかりません。c言語に詳しい方、for文を使って乱数を5個ほど表示させるプログラムを示してください。
- ベストアンサー
- C・C++・C#
- 超幾何分布に従う疑似乱数の生成について
今、超幾何分布に従う疑似乱数を生成するコードをScilabで書こうとしています。しかし、Scilabには超幾何分布に従う疑似乱数の関数が実装されていません。有識者の方で、わかる方がいましたら教えてください。 ソースコードに関してはC言語、Basic、Scilabのどれかで教えていただけたら、助かります。また書籍をご存じなら、書籍名を教えてください。 よろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
お礼
ありました。どうもありがとうございました。