初学者的Linux factor命令(带有示例)

如果您是Linux命令行用户,并且您的工作围绕质数进行,那么有一个命令行实用程序可以为您提供帮助,该工具 因子… 在本文中,我们将快速讨论诸如它为什么存在,它如何工作以及如何使用它的事情。 请注意,此处提到的所有示例和说明均已在Ubuntu 16.04 LTS上进行了测试。

Linux factor命令

Linux factor命令给出了数的质数。 这是该工具的语法:

factor [NUMBER]...

以下是手册页描述实用程序的方式:

Print the prime factors of each specified integer NUMBER.  If none are specified on the command 
line, read them from standard input.

Q1。 如何使用factor命令?

使用非常简单(通过上述语法,您猜对了)。 只需提供所需的数字作为factor实用程序的参数即可。 例如,要找到主要因子(例如20),请使用以下因子:

factor 20

以下是在系统上产生的结果:

[email protected]:~# factor 20                                                                                                                                    
20: 2 2 5

当然,您可以一次性将多个数字作为参数传递给factor命令。

[email protected]:~#factor 20 30 40                                                                                                                               
20: 2 2 5                                                                                                                                                     
30: 2 3 5                                                                                                                                                     
40: 2 2 2 5

除常规参数外,该工具没有其他任何基本命令行参数。 -救命-版几乎每个Linux命令行工具都具有。

[email protected]:~# factor --help                                                                                                                                
Usage: factor [NUMBER]...                                                                                                                                     
  or:  factor OPTION                                                                                                                                          
Print the prime factors of each specified integer NUMBER.  If none                                                                                            
are specified on the command line, read them from standard input.                                                                                             
                                                                                                                                                              
      --help     display this help and exit                                                                                                                   
      --version  output version information and exit                                                                                                          
                                                                                                                                                              
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>                                                                                           
Full documentation at: <http://www.gnu.org/software/coreutils/factor>                                                                                         
or available locally via: info '(coreutils) factor invocation'

Q2。 因素使用什么算法?

根据GNU文档,factor命令使用算法 波拉德·布伦特·罗… 文档(看这里)还提供了仅针对系数相对较小的数字的有效算法。 以下是文档摘录:

从文档中:分解因子通常很困难。 因数使用的Pollard-Brent rho算法对于阶乘相对较小的数字特别有效。 如果要考虑没有小阶乘的大量数字(例如,一个数字是两个大质数的乘积),则其他方法会更好。 如果在不使用GNU MP的情况下构建因数,则只能使用单精度算术,因此将不支持大数(通常为2 ^ {128}及以上)。 单精度代码使用一种旨在分解较小数字的算法。

Q3。 为什么因素存在?

好吧,这还没有官方的说法,但是专家建议有人(或一组)处理质数并在半个世纪前开发出该工具。 从那时起,它已被包括在Unix和Linux发行版中,这可以归因于没有任何理由。

可以找到关于该主题的讨论 这里

结论

factor命令显然是一个利基工具。 只有那些经常使用质数/因数的人可能会发现它有用。 但是话又说回来,学习效用绝对没有害处(特别是在几乎没有与之相关的学习曲线时)。

您可以访问因子的手册页 这里

Sidebar