谁能提供个写随机函数的思路,探究rand函数的工作原理
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/06/17 08:28:20
谁能提供个写随机函数的思路,探究rand函数的工作原理
大家都知道,程序语言的随机数,一般都是用rand来产生的,(不同语言格式可能略有不同),我现在想知道,这个函数究竟怎么返回的随机数,谁能提供个思路?
说下我的见解:我本以为会和时间挂钩,把时间通过乱七八糟的算法,得到一个0-9的数字.如果是这样,那么相同时间产生的随机数将会一致,很明显这样不行.那么究竟怎样才行……
大家都知道,程序语言的随机数,一般都是用rand来产生的,(不同语言格式可能略有不同),我现在想知道,这个函数究竟怎么返回的随机数,谁能提供个思路?
说下我的见解:我本以为会和时间挂钩,把时间通过乱七八糟的算法,得到一个0-9的数字.如果是这样,那么相同时间产生的随机数将会一致,很明显这样不行.那么究竟怎样才行……
![谁能提供个写随机函数的思路,探究rand函数的工作原理](/uploads/image/z/6918839-71-9.jpg?t=%E8%B0%81%E8%83%BD%E6%8F%90%E4%BE%9B%E4%B8%AA%E5%86%99%E9%9A%8F%E6%9C%BA%E5%87%BD%E6%95%B0%E7%9A%84%E6%80%9D%E8%B7%AF%2C%E6%8E%A2%E7%A9%B6rand%E5%87%BD%E6%95%B0%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86)
有关如何产生随机数的理论有许多,如果要详细地讨论,需要厚厚的一本书的篇幅.
有限状态机不能产生真正的随机数的,所以在现在的计算机中并没有一个真正的随机数生成算法,现有的随机数生成算法生产的随机数只不过因为重复的周期比较大,可以做到使产生的数字重复率很低,这样看起来好象是真正的随机数,一般称作叫伪随机数发生器.
真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等.这样的随机数发生器叫做物理性随机数发生器,它们的缺点是技术要求比较高.真随机数生产效率没有伪随机数高,还有就是"信息熵的信息量如果很有限的话,就不是一定是真的随机数了."
建议去看看这篇文章:
有限状态机不能产生真正的随机数的,所以在现在的计算机中并没有一个真正的随机数生成算法,现有的随机数生成算法生产的随机数只不过因为重复的周期比较大,可以做到使产生的数字重复率很低,这样看起来好象是真正的随机数,一般称作叫伪随机数发生器.
真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等.这样的随机数发生器叫做物理性随机数发生器,它们的缺点是技术要求比较高.真随机数生产效率没有伪随机数高,还有就是"信息熵的信息量如果很有限的话,就不是一定是真的随机数了."
建议去看看这篇文章:
谁能提供个写随机函数的思路,探究rand函数的工作原理
C语言中怎么使用随机函数rand产生的两个能整除的数?
excel中RAND函数用法,我想随机生成12~7之间的整数数字怎么写这个函数呢?
谁用随机函数rand()产生一个在【-20,20】两位整数的表达式是?
在随机函数时,rand()%100/10+10 它的随机取值范围是多少?
请教函数RAND()的用法
关于rand函数的使用
1.利用MATLAB提供的rand函数生成30000个符合均匀分布的随机数,然后检验随机数的性质
含随机函数的表达式rand() 的值在多少至19区间内的答案
C语言中如何用rand()函数产生20-90的随机整数
Excel 中 利用ROUND和RAND函数 随机0到100的整数怎么做啊~
Excel 中 利用ROUND和RAND函数 随机450到500的整数怎么做啊?