algorithm - 为什么我们要检查一个数的平方根以确定该数是否为质数?

标签 algorithm primes primality-test

要测试一个数是否为质数,为什么我们必须测试它是否只能被该数的平方根整除?

最佳答案

如果一个数 n 不是素数,它可以分解为两个因子 ab:

n = a * b

现在 ab 不能都大于 n 的平方根,从那时起 a * b 将大于 sqrt(n) * sqrt(n) = n。所以在 n 的任何因式分解中,至少有一个因子必须小于 n 的平方根,如果我们找不到任何小于或等于的因子求平方根,n 必须是素数。

关于algorithm - 为什么我们要检查一个数的平方根以确定该数是否为质数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5811151/

相关文章:

python - 如何优化和寻找大量输入的输出?

python - 理解 Python 中的埃拉托色尼筛法

algorithm - 用于测试确定性素数的 Miller-Rabin 的修改版本?

algorithm - Miller-Rabin Scheme 实现不可预测的输出

用 R 重复多次相同的代码并收集最终结果

python - 如何改进我的代码以处理大量数据?

prolog - 强制变量重新分配(Prolog)

JavaScript:使用递归检查数字是否为素数

algorithm - 在 3 个未知变量上找到 N 多项式方程组的数值解的快速算法是什么?

algorithm - 要从字符串中删除的字母数,以便它可以被另一个字符串整除