LCG随机数生成算法

Posted lovebay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LCG随机数生成算法相关的知识,希望对你有一定的参考价值。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(int argc, char** argv)
{
    int n = 300000000;
    double U;
    int random_num;

    srand(time(NULL));  //初始化随机数种子
    for (int i = 0; i < 10; i++)
    {
        U = (double)rand() / RAND_MAX; //生成[0,1]之间的随机数
        random_num = (int)((n - 1)*U + 0.5); //生成[0,n-1]之间的随机数
        printf("%d ", random_num);
    }

    return 0;
}

 

以上是关于LCG随机数生成算法的主要内容,如果未能解决你的问题,请参考以下文章

Python蒙特卡洛模拟 | LCG 算法 | 马特赛特旋转算法 | Random 模块

djb2:一个产生简单的随机分布的哈希函数

python 用于生成伪随机数的LCG(线性同余生成器)的Python实现。

合成法生成随机数原理

LCG 在 Kolmogorov-Smirnov 测试中是不是像我的代码所暗示的那样严重失败?

拖拽式Vue组件代码生成平台(LCG)新版详细介绍