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

标签 c++ c algorithm primes

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

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

最佳答案

你可以像这样高效地做到这一点:

  1. 在该区间内生成一个随机数;
  2. 检查它是否可以被前几个质数中的任何一个整除(比如 2 .. 17,实验以获得最佳结果)。如果是,转1;
  3. 使用Miller-Rabin测试素数。

另见 this对于类似但更复杂的想法。

关于c++ - 在 2 个限制之间的 C/C++ 中生成随机素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13665443/

相关文章:

algorithm - 查找重叠集

c++ - Scintilla 词法分析器帮助。尝试保存特定线路信息以备后用

C++ V8 嵌入项目结构

c - 关于常用算术转换的问题-GCC编译器

c - Win32 : Anonymous inherited pipes don't close on subprocess exit

python - __hash__ 在 Python 3.2 中是如何实现的?

c++ - 如何在 Visual Studio 中使用预编译库构建应用程序

c++ - 方法和 ELF OS ABI 中的静态局部变量

c - 为什么 nanosleep() 会增加一个恒定的延迟,我该如何避免呢?

有人能给我这个算法的例子吗