mathematica 发表于 2009-2-9 14:34:34

关于产生随机整数的问题

在miller rabin算法中要求使用随机的整数基做测试,
也就是在2到n-2之间产生随机的整数,那么
如何才能产生比较均匀分布的整数呢?
而且还要求不容易重复

hugecalc中是如何实现这一点的呢?
在pari中又是如何实现这一点的呢?
当然也可以在这里讨论一下产生随机数的产生算法问题

不知道谁能说一下

gxqcn 发表于 2009-2-9 16:37:53

可以这么做:
1、取出N的bit数b0;
2、在2~b0-1中产生随机数b1;
3、生成bit数为b1的随机大数N1;
4、现有集合中bit数为b1的大数与N1比较,如无重复,则N1存入集合(否则丢弃);
5、当集合元素达到预定数目时停止。

其实关于随机数生成的问题比较高深,
要同时满足多项检验指标是非常困难的,
只要是对研究问题不产生严重缺陷即可。

无心人 发表于 2009-2-9 18:28:22

就实际效果来说

基选择的方法并没有很好的理论

mathe 发表于 2009-2-9 22:09:16

随机有两种含义,一种是只需要服从一种分布.
另外一种意思是没有任何要求.
这里应该指第二种
页: [1]
查看完整版本: 关于产生随机整数的问题