主题
Search

直接搜索因式分解


直接搜索因式分解是最简单(也最简单粗暴)的素因数分解算法。它通过系统地执行试除法来搜索一个数的因数,通常使用递增的数字序列。通常排除小素数的倍数以减少试除数的数量,但有时直接包含它们比排除它们所需的时间更快。直接搜索因式分解非常低效,只能用于相当小的数字。

当对数字 n 使用此方法时,只需测试直到 |_sqrt(n)_|因数(其中 |_x_|向下取整函数)。这是正确的,因为如果所有小于此值的整数都已尝试过,那么

 n/(|_sqrt(n)_|+1)<sqrt(n).
(1)

换句话说,所有可能的因数都已经测试过它们的余因子。同样成立的是,当 n 的最小因数 p 大于 >RadicalBox[n, 3] 时,其余因子 m (使得 n=pm)必须是素数。为了证明这一点,假设最小的 p 大于 >RadicalBox[n, 3]。如果 m=ab,那么 ab 可以假设的最小值是 p。但是这样

 n=pm=pab>=p^3>n,
(2)

这不可能成立。因此,m 必须是素数,所以

 n=p_1p_2.
(3)

另请参阅

素因数分解算法, 试除法

使用 Wolfram|Alpha 探索

请引用为

韦斯坦, 埃里克·W. "直接搜索因式分解。" 来自 MathWorld--Wolfram Web 资源。 https://mathworld.net.cn/DirectSearchFactorization.html

主题分类