algorithm - 如果 p 是素数,如何使用快速算法检查 ap + b 是否是素数?

标签 algorithm math primes number-theory

我们有三个数字abpp 是一个大素数,但 abp 小得多。

如何使用快速算法确定 ap + b 是否为素数?

我们不想使用 BigInteger 类和类似的东西。

请注意,我们还可以了解有关p的一些其他信息。例如,如果m很小,则可以轻松计算p % m

最佳答案

这个问题更适合数学合作伙伴论坛。

如果gcd(a, b) != 1那么它就不是素数。

如果(a + b) % 2 != 1那么它就不是质数。

考虑 3.7 + 4 不是质数会导致另一条规则。

所以做一些数学计算,即

(a % b) * (p % b)

必须是素数,尽管p % b是不可能的。

关于algorithm - 如果 p 是素数,如何使用快速算法检查 ap + b 是否是素数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45324488/

相关文章:

c++ - 找到数字的主要因素的更好方法

java - 素数之和 - 为什么我的代码返回 0?

c - 在优化 C 中的分段素筛时卡住了

algorithm - Kolmogorov 复杂度逼近算法

algorithm - 生成随机树分支

algorithm - 成绩较好但jee排名较低的学生人数

学习发展算法

javascript - 防止圆圈重叠

algorithm - Tower Breakers - 带有除数的 nim 游戏变体

java - 为什么在 hashCode 中使用素数?