线性同余法随机数生成
生活随笔
收集整理的這篇文章主要介紹了
线性同余法随机数生成
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
xn=(axn?1+b)modmx_n =(ax_{n-1}+b) \, mod \, mxn?=(axn?1?+b)modm
/** Random.h** Created on: 2020年2月11日* Author: Administrator*/#ifndef RANDOM_H_ #define RANDOM_H_class Random { public:Random();int rand(int n);float rand();private:unsigned int a = 10001659;unsigned int b = 11;unsigned int seed;unsigned int m = ~(1 << 31); };#endif /* RANDOM_H_ */ /** Random.cpp** Created on: 2020年2月11日* Author: Administrator*/#include "Random.h" #include <iostream> using namespace std;Random::Random() {}int Random::rand(int n){if(n <= 0){return 0;}seed = (a * seed + b) % m;return seed % n; }float Random::rand(){int r = rand(m);return r * 1.0f / m; }總結
以上是生活随笔為你收集整理的线性同余法随机数生成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ffmpeg推拉流优化方案
- 下一篇: 基于51单片机的蜂鸣器及简谱的学习(编曲