随机数生成类C++源码
来源:互联网 发布:穿衣搭配技巧软件 编辑:程序博客网 时间:2024/04/30 04:20
#include <iostream>
#include <time.h>
using namespace std;
class randomNumber
{
public:
randomNumber(long s = 0);
long random();
long random(long n);
double frandom();
private:
static const long A;
static const long M;
static const long Q;
static const long R;
long seed;
};
const long randomNumber::A = 48271;
const long randomNumber::M = 2147483647;
const long randomNumber::Q = M / A;
const long randomNumber::R = M % A;
randomNumber::randomNumber(long s)
{
if (s < 0)
s = 0;
if (s == 0)
{
long t_time = time(NULL);
t_time *= t_time;
if (t_time > 0)
s = t_time ^ 0x5EECE66DL;
else if (t_time < 0)
s = (t_time & 0x7fffffff) ^ 0x5EECE66DL;
else
s = 0x5EECE66DL;
}
seed = s;
}
long randomNumber::random()
{
long tmpSeed = A * ( seed % Q ) - R * ( seed / Q );
if( tmpSeed >= 0 )
seed = tmpSeed;
else
seed = tmpSeed + M;
return seed;
}
long randomNumber::random(long n)
{
double fraction = double(random())/double(M);
return int(fraction * n);
}
double randomNumber::frandom()
{
return double(random())/double(M);
}
- 随机数生成类C++源码
- .NET源码中的随机数生成类
- C/C++:随机数生成
- 随机数生成c++(转)
- objective-c 生成随机数
- C/C++生成随机数
- C语言生成随机数
- c生成随机数
- C随机数生成函数
- C语言生成随机数
- c 生成随机数
- C/C++随机数生成
- C/C++生成随机数
- C语言生成随机数
- C语言生成随机数
- C语言生成随机数
- c随机数生成
- c/c++生成随机数
- 比尔·盖茨演讲全文
- "struts中文问题","struts国际化问题"的终极解决方案
- 补记----宁波纪行
- 《实现JSP分页显示数据库》的阅读笔记
- PHP的一些技巧
- 随机数生成类C++源码
- 如何使用 gcc 编译程序
- C / C++ 头文件一览
- BCB::在Edit中粘贴数字响应
- BCB中实现动态创建组件[ch_builder(原作)]
- WINAPI
- C++的IO操作
- ORACLE 10g 10.1.0.2 升级到 ORACLE 10.1.0.3 FOR LINUX86
- 完善商品分类导航