谁能提供个写随机函数的思路,探究rand函数的工作原理大家都知道,程序语言的随机数,一般都是用rand来产生的,(不同语言格式可能略有不同),我现在想知道,这个函数究竟怎么返回的随机数,

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 20:08:27

谁能提供个写随机函数的思路,探究rand函数的工作原理大家都知道,程序语言的随机数,一般都是用rand来产生的,(不同语言格式可能略有不同),我现在想知道,这个函数究竟怎么返回的随机数,
谁能提供个写随机函数的思路,探究rand函数的工作原理
大家都知道,程序语言的随机数,一般都是用rand来产生的,(不同语言格式可能略有不同),我现在想知道,这个函数究竟怎么返回的随机数,谁能提供个思路?
说下我的见解:我本以为会和时间挂钩,把时间通过乱七八糟的算法,得到一个0-9的数字.如果是这样,那么相同时间产生的随机数将会一致,很明显这样不行.那么究竟怎样才行……

谁能提供个写随机函数的思路,探究rand函数的工作原理大家都知道,程序语言的随机数,一般都是用rand来产生的,(不同语言格式可能略有不同),我现在想知道,这个函数究竟怎么返回的随机数,
有关如何产生随机数的理论有许多,如果要详细地讨论,需要厚厚的一本书的篇幅.
有限状态机不能产生真正的随机数的,所以在现在的计算机中并没有一个真正的随机数生成算法,现有的随机数生成算法生产的随机数只不过因为重复的周期比较大,可以做到使产生的数字重复率很低,这样看起来好象是真正的随机数,一般称作叫伪随机数发生器.
真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等.这样的随机数发生器叫做物理性随机数发生器,它们的缺点是技术要求比较高.真随机数生产效率没有伪随机数高,还有就是"信息熵的信息量如果很有限的话,就不是一定是真的随机数了."
建议去看看这篇文章:

谁能提供个写随机函数的思路,探究rand函数的工作原理大家都知道,程序语言的随机数,一般都是用rand来产生的,(不同语言格式可能略有不同),我现在想知道,这个函数究竟怎么返回的随机数, 谁用随机函数rand()产生一个在【-20,20】两位整数的表达式是? excel中RAND函数用法,我想随机生成12~7之间的整数数字怎么写这个函数呢? excel 随机函数,生成-1到1之间,不为0的保留两位位小数=ROUND(-0.99+(0.99+0.99)*RAND(),2)该怎么写才能使它不生成0=IF(ROUND(RAND(),0),ROUNDUP(RAND()*0.99,2),-1*ROUNDUP(RAND()*0.99,2))=(INT(RAND()*(99-1+1))+1)*IF(RAND()>0.5,-1%, matlab产生伪随机序列的问题我用一张图key作为密钥,用它产生为随机序列.我看到有个程序在用rand()之前写了一句rand('state',key);我有个问题,不管谁用同一个key产生的随机序列都是相同的吗? 在随机函数时,rand()%100/10+10 它的随机取值范围是多少? C语言初学者求助 关于随机数生成函数int rand(void)的具体用法我只知道int rand(void)可生成一个0至RAND_MAX的随机整数,rand函数与RAND_MAX定义在stdlib.h文件中.如果定义两个浮点数x,y,要生成n个随机点 C语言中rand()%m是啥意思?rand()这个知道,它是数学函数,产生-90~32767间的随机整数可后面跟个%m是啥意思就不明白了. 算法设计:int rand()是一个能产生(0,65565)的随机数函数,怎么随机产生十个(1,300000)的不相等的数 c语言中 a[i][j]=rand()/1000+1;是什么意思;随机发生函数rand()是怎么随机发生的,有什么范围吗? 含随机函数的表达式rand() 的值在多少至19区间内的答案 Excel 中 利用ROUND和RAND函数 随机0到100的整数怎么做啊~ Excel 中 利用ROUND和RAND函数 随机450到500的整数怎么做啊? C语言中如何用rand()函数产生20-90的随机整数 这篇作文怎么写?谁能提供点思路? c++怎样计算rand产生的随机数不同的概率就是说10个学生,我想利用rand()函数随机产生他们的数字代表他们的生日,求生日各不相同的概率rand函数的种子是调用的计算机中的时间 C语言中怎么使用随机函数rand产生的两个能整除的数?a=rand()%49+1;b=rand()%((int)(100/b))+1;e=a/b;式子中a能被b整除具体解释一下这个式子的原理就行 想用VB写个关于数独计算程序,谁能提供点思路?(不用给出代码)