求高手指教,怎么用c语言 编写一个16807随机数产生器?
4个回答
推荐于2018-04-13
展开全部
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;
}
展开全部
是产生16807这五个数字当中的一个的随机数程序?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
百度“random”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |