写个随机函数

realminmin 2008-11-10 01:45:48
不允许使用系统时间,写出一个随机数生成函数
...全文
95 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxgamexx 2008-11-10
  • 打赏
  • 举报
回复

int randnum(void)
{
/*
* This function generates pseudo-random numbers between 0 and 999.
* It does this by working through a sequence of numbers that appear
* random (through the magic of math) and returns the last 3 digits
* to the user. Each time a new number in the sequence is generated,
* that number is recorded and is then used to generate the next
* number when the procedure is called again.
*/
static unsigned long prev_num = 1; /* the previous number in the sequence */
unsigned long new_num; /* the new number we are calculating */
/*
* The magical formula to calculate the next pseudo-random number
*/
new_num = ((16807 * prev_num) + 0) % 2147483647;
/*
* Record this number for next time
*/
prev_num = new_num;
/*
* Return the last 3 digits of the number
*/
return new_num % 1000;
}
fallening 2008-11-10
  • 打赏
  • 举报
回复
参考linux中随机数的生成方法----采用硬件噪音

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧