📄 random.cpp
字号:
#include "Random.h"
#include <limits.h>
#include <time.h>
#include <math.h>
int Random::reseed()
//Post:The seed is replaced by a psuedorandom successor
{
seed=seed*multiplier+add_on;
return seed;
}
Random::Random(bool pseudo)
{
/*Post:The values of seed ,add-on, and multiplier are initialized. The seed is initialized randomly only if pseudo==false*/
if (pseudo)
{
seed=1;
}
else
{
seed=static_cast<int>(time(NULL)%INT_MAX);
multiplier=2743;
add_on=5923;
}
}
double Random::random_real()
{
/*Post:A random real number between 0 and 1 is returned*/
double max=INT_MAX+1.0;
double temp=reseed();
if (temp<0)
{
temp=temp+max;
}
return temp/max;
}
int Random::poisson(double mean)
{
/*Post:A random integer, reflecting a Poisson distribution with parameter mean, is return.*/
double limit=exp(-mean);
double product=random_real();
int count=0;
while (product>limit)
{
count++;
product*=random_real();
}
return count;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -