//------- 失误 ,因为因为数据刷新了 -------------//
[此贴子已经被作者于2007-11-4 1:26:15编辑过]
----------------解决方案--------------------------------------------------------
先生没看懂我在说什么吧?
----------------解决方案--------------------------------------------------------
因帖子列表刷新,失误
----------------解决方案--------------------------------------------------------
把2个16位随机数的位拼接为一个32位的可以产生32bit随机数。
产生32个 rand % 2 的数,也可以实现32bit随机数。
[此贴子已经被作者于2007-11-4 2:10:45编辑过]
----------------解决方案--------------------------------------------------------
谢谢大家的提示
----------------解决方案--------------------------------------------------------
又想了想我上面的问法有些错误,X,Y都是离散型随机变量,不是服从均匀分布。
而X*Y的分布没有必要讨论了。
如果按照cosdos的做法,(RAND_MAX,RAND_MAX*RAND_MAX]之间的质数被随机到的可能性是0,原因很简单一个质数不可能被分解成两个数的乘积的形式,所以这种做法确实是欠妥的。
这位同学,假如要得到质数5,那么5可以分解为1和5,以及5和1的乘积。
只不过随到的可能性要更小而并非为0
----------------解决方案--------------------------------------------------------
这位同学,假如要得到质数5,那么5可以分解为1和5,以及5和1的乘积。
只不过随到的可能性要更小而并非为0
先生请注意我提到的区间范围。
----------------解决方案--------------------------------------------------------
确实如此,质数(素数)
RAND_MAX 到 RAND_MAX*RAND_MAX 之间的
我只想到 使用位操作 或 数组。(我的编译器不支持64位)
union ran
{
short a16[2];
unsigned int a32;
};
/* 用联合存放2个16位随机数,以实现32位随机数 */
关于产什么32位随机数有什么好的提议吗?
[此贴子已经被作者于2007-11-5 1:00:11编辑过]
----------------解决方案--------------------------------------------------------