CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

关于rand()

楼主lengend(天涯鸢鹰)2002-04-11 18:30:06 在 C/C++ / C语言 提问

大家谁知道,随机函数是如何形成的吗,可以告诉我吗?  
  还有srand()到底有什么功效。  
  for(int   i=0;i<100;i++)  
  {  
         
        a[i]=rand();//数组a[100]  
    }  
  为什么不要srand()时形成的a[i]不一样呢?  
  谢谢!  
  问题点数:10、回复次数:4Top

1 楼LionEagle(LionEagle)回复于 2002-04-11 18:45:41 得分 0

随机数(其实是伪随机数)产生的一般方法是用一个种子与一个数(好象是素数,记不太清楚了)相乘再加上一个数,然后再用一个数对和取模得到,这些数有一定要求(记不清了),满足这些要求才能使产生的数列更接近平均分布的白噪声。  
  srand为产生随机数提供种子,用randomize(bc)也可以提供种子  
  不使用srand,单次运行时,a[0]!=a[1];但第一次运行时的a[0]与第二,三,。。。次运行时的a[0]相同,a[1]~a[99]也是这样Top

2 楼yuzhantao(和女朋友一起去养狗)回复于 2002-04-11 19:26:47 得分 10

rand()=(x*317+65535)/32767     可能不对,不过差不太多。在很多c书上都有的  
   
  结果为一个0到32767的整数,x为种子  
  srand就是产生x的,也可以自己设定x的值。  
   
  第二个问题是种子不同  
   
  要是还不懂,加我的   qq     45494732。  
   
  有很多游戏都是用这种的。如色子Top

3 楼rojyyang(初学者)回复于 2002-04-11 19:32:12 得分 0

还是没懂,能说得更清楚点么?Top

4 楼armylau(冯.城.褐.兰)回复于 2002-04-11 19:41:08 得分 0

随机数是用一种算法产生的,衡量产生的随机法的好坏一般是周期性和独立性.周期性指产生的随机数重复的间距,如1,53,53,3435,1,53,53,3435的周期就为4.独立性则是指产生的后一个数与前面的数关联比较少.还有就是随机数的分布问题.rand()产生的是随机分布.种子大概就是用来产生随机数的初值,然后根据这个初值产生以后的随机数  
  Top

相关问题

  • 请问rand().................
  • rand()问题!
  • 关于srand()和rand().
  • 关于RAND(),SRAND()的含义?
  • 还是关于rand()的。。。。
  • 怎样写一个rand()function
  • rand()是什么函数?
  • rand()函数和同余法
  • RAND函数怎么用?
  • 我的rand函数为什么不能这样用啊,int a = rand();

关键词

得分解答快速导航

  • 帖主:lengend
  • yuzhantao

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo