○標準ライブラリを使った疑似乱数の生成
<stdlib.h>ヘッダが必要
#include <stdlib.h>
srand(100); //乱数の種を与える
もしくは
srand((unsigned)time(NULL));//時間を種にする
long r=(long)rand() % 3;//0から2までの3種類の乱数を生成
long s=((long)rand()*(long)rand())% 100001;//0から100000までの乱数を生成
101から110までの乱数を作成するには、
long r=(long)rand() % 10;//0から9までの10の乱数の生成
r+=101;//101をたす
○メルセンヌ・ツイスタ擬似乱数発生法
このファイルを保存します。
Mersenne Twister Home Page の mt19937ar.c ファイルへのリンク
上記ファイルの最後の方にあるメイン関数をコメントアウトして使用します
init_genrand(100);//種を与えます
long a;
a=genrand_int32()%100;//0から99までの乱数を生成
printf("%d\n",a);
参考資料:Mersenne Twister Home Page http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html
▲トップページ
>
Windows と C++