Questions tagged «prime-factoring»

27
查找数的最大素数的算法
计算数字最大素数的最佳方法是什么? 我认为最有效的方法如下: 查找可以清楚地划分的最低质数 检查除法结果是否为质数 如果没有,找到下一个最低的 转到2。 我基于此假设,因为它更容易计算出小的素因数。这是对的吗?我还应该考虑其他什么方法? 编辑:我现在意识到,如果有两个以上素数在起作用,我的方法是徒劳的,因为当结果是另外两个素数的乘积时,步骤2失败了,因此需要递归算法。 再次编辑:现在我意识到它仍然可以工作,因为最后找到的质数必须是最高的质数,因此,对步骤2中非质数结果进行的任何进一步测试都将导致较小的质数。

7
快速素数分解模块
我正在寻找一种实现或清晰的算法,以获取python,伪代码或任何其他易于理解的N的素数分解。有一些要求/事实: N在1到〜20个数字之间 没有预先计算的查找表,虽然可以做备忘录。 无需经过数学证明(例如,如果需要,可以依赖于哥德巴赫猜想) 不必很精确,如果需要,可以是概率/确定性的 我需要一种快速的素数分解算法,不仅针对其本身,而且还需要用于许多其他算法中,例如计算Euler phi(n)。 我尝试了Wikipedia上的其他算法,但是我无法理解它们(ECM),或者无法从该算法创建有效的实现方式(Pollard-Brent)。 我对Pollard-Brent算法真的很感兴趣,因此任何有关它的信息/实现都将非常不错。 谢谢! 编辑 经过一番摸索之后,我创建了一个非常快速的质数/因数分解模块。它结合了优化的试验划分算法,Pollard-Brent算法,米勒-拉宾素数检验和我在互联网上找到的最快的素数筛。gcd是常规的Euclid的GCD实现(二进制Euclid的GCD比常规的慢得多)。 赏金 哦,喜悦,可以获得赏金!但是我怎么能赢呢? 在我的模块中找到优化或错误。 提供替代/更好的算法/实现。 最完整/最有建设性的答案将得到赏金。 最后是模块本身: import random def primesbelow(N): # http://stackoverflow.com/questions/2068372/fastest-way-to-list-all-primes-below-n-in-python/3035188#3035188 #""" Input N>=6, Returns a list of primes, 2 <= p < N """ correction = N % 6 > 1 N = {0:N, 1:N-1, 2:N+4, …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.