求高手指教,怎么用c语言 编写一个16807随机数产生器?
答案:4 悬赏:70 手机版
解决时间 2021-01-20 22:13
- 提问者网友:那叫心脏的地方装的都是你
- 2021-01-20 14:35
求高手指教,怎么用c语言 编写一个16807随机数产生器?
最佳答案
- 五星知识达人网友:青灯有味
- 2021-01-20 16:01
int z = 123; // z 为种子,需提前设置(GetTickCount())
int schrage_next()
{
const int a = 16807; // 16807 法
const int b = 0;
const int m = 2147483647; // MAX_INT
const int q = m / a; // q = m / a;
const int r = m % a; // r = m % a;
int _z = a * (z % q) - r * (int)(z / q) + b; // 计算 mod
if(_z < 0)
_z += m; // 将结果调整到 0 ~ m
return z = _z;
}
int schrage_next()
{
const int a = 16807; // 16807 法
const int b = 0;
const int m = 2147483647; // MAX_INT
const int q = m / a; // q = m / a;
const int r = m % a; // r = m % a;
int _z = a * (z % q) - r * (int)(z / q) + b; // 计算 mod
if(_z < 0)
_z += m; // 将结果调整到 0 ~ m
return z = _z;
}
全部回答
- 1楼网友:玩世
- 2021-01-20 18:36
16807是啥意思?
- 2楼网友:舊物识亽
- 2021-01-20 17:38
是产生16807这五个数字当中的一个的随机数程序?
- 3楼网友:旧脸谱
- 2021-01-20 17:11
百度“random”
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯