首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linux中factor命令背后的算法是什么?

linux中factor命令背后的算法是什么?
EN

Stack Overflow用户
提问于 2012-06-22 19:29:30
回答 2查看 4.1K关注 0票数 18

factor命令打印指定整数的素因数。

当我尝试的时候

代码语言:javascript
复制
factor 12345678912345678912

即使对于如此大的数字,它也是在工厂内部产生的。

使用的是哪种算法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-22 19:36:40

Gnu手册通知正在使用Pollard's rho algorithm

http://www.gnu.org/software/coreutils/manual/html_node/factor-invocation.html

票数 17
EN

Stack Overflow用户

发布于 2012-06-22 19:34:31

下面是GNU factor的一个版本的源代码示例:

http://www.futuretg.com/FTHumanEvolutionCourse/Source/factor.c

它包括审判部门和Pollard的rho的例程。在我看来,快速扫描就好像它使用试除法来找到一些小因子(最高约为lg(n)^2,在本例中约为4000 ),如果剩下的可能不是-质数,则使用Pollard。在这种情况下,如果我对4000的估计是正确的,那就是205432623008947,即35129 * 5847949643

在您的示例中,第二大素数因子是35129,最大素数的平方根在76471附近。因此,光是审判部门就会很快,因为它只需要尝试大约25000名候选人。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11155331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档