uniform.c
来自「生成均匀随机数列算法实现和生成高斯随即序列的两种算法实现」· C语言 代码 · 共 14 行
C
14 行
/* uniform.c 产生均匀分布的伪随机数 */
/* 引入迭代公式Xj+1=(aXj+c)_(mod m) */
/* 再取 Yj=Xj/m, j=1,2,..., */
double uniform(a,b,seed)
double a,b;
long int *seed;
{ double t;
*seed=2045*(*seed)+1; /*取a=2045,c=1*//*m=2^20=1048576*/
*seed=*seed-(*seed/1048576)*1048576;
t=(*seed)/1048576.0; /*m=2^20=1048576*/
t=a+(b-a)*t; /*通过变换Zj=a+(b-a)*Yj产生(a,b)区间上的随机数*/
return(t);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?