初學者的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