📄 随机数类.txt
字号:
#ifndef RANDOM_NUMBER_GENERATOR
#define RANDOM_NUMBER_GENERATOR
#include <time.h>
// used to generate random number from current seed and update seed
const unsigned long maxshort = 65536L;
const unsigned long multiplier = 1194211693L;
const unsigned long adder = 12345L;
class RandomNumber
{
private:
// private member containing current seed
unsigned long randSeed;
public:
// constructor. default 0 gives automatic seeding
RandomNumber(unsigned long s = 0);
// generate random integer 0 <= value <= n-1
unsigned short Random(unsigned long n);
// generate random real number 0 <= value < 1.0
double fRandom(void);
};
// seed the generator
RandomNumber::RandomNumber (unsigned long s)
{
if (s == 0)
randSeed = time(0); // automatic seeding using system time
else
randSeed = s; // user supplies the seed
}
// return random integer 0 <= value <= n-1 < 65536
unsigned short RandomNumber::Random (unsigned long n)
{
randSeed = multiplier * randSeed + adder;
return (unsigned short)((randSeed >> 16) % n);
}
// return (value in range 0..65535) / 65536
double RandomNumber::fRandom (void)
{
return Random(maxshort)/double(maxshort);
}
#endif // RANDOM_NUMBER_GENERATOR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -