为什么需要检查直到sqrt(n)的值以确定数字的除数

时间:2019-02-23 18:09:34

标签: math proof

我一直在寻找确定数字除数的最有效方法。我发现有一篇文章提到,与其从1 upto n开始迭代,还可以通过从1 upto sqrt(n)进行迭代来减少总体运行时间,并且假设1<=k<=sqrt(n)k是一个除以数字n的除数,然后将另一个除数为n/k
有什么数学证据证明为什么我们只需要迭代最多sqrt(n)

1 个答案:

答案 0 :(得分:0)

如果您有一个除数d >sqrt(n),则其互补除数n/d将小于n/sqrt(n),等于sqrt(n),因此您已经找到了{{ 1}},直到您的算法结束,因此n/d也就是n/(n/d)