在C/C++中生成2个限制之间的随机素数

pre*_*ash 7 c c++ algorithm primes

是否有内置函数可以在C/C++中的2个给定限制之间生成随机素数?

我想要一个可以生成100万到10亿之间随机素数的函数

IVl*_*lad 11

您可以这样有效地执行此操作:

  1. 在该间隔中生成随机数;
  2. 检查它是否可被前几个素数中的任何一个整除(例如2 .. 17,试验以获得最佳结果).如果是,请转到1;
  3. 使用米勒 - 拉宾来测试素性.

还可以看到这个类似的,更复杂的想法.

  • @Don Reba:只要输入的随机数在该范围内均匀分布,该方法选择的素数也将均匀分布在该范围内的素数中。 (2认同)