Pokud jste uživatelem příkazového řádku Linuxu a vaše práce se točí kolem prvočísel, je tu nástroj příkazového řádku, který by vám mohl pomoci. Dotyčný nástroj je faktor a v tomto tutoriálu rychle probereme věci, jako je proč existuje, jak funguje a jak jej můžete používat. Vezměte prosím na vědomí, že všechny příklady a pokyny zde uvedené byly testovány na Ubuntu 16.04LTS.
Příkaz Linux factor
faktor příkaz v Linuxu vám dává prvočísla čísla. Zde je syntaxe nástroje:
factor [NUMBER]...
A zde je návod, jak to popisuje manuálová stránka nástroje:
Print the prime factors of each specified integer NUMBER. If none are specified on the command
line, read them from standard input.
O1. Jak používat příkaz factor?
Použití je docela snadné (jak byste uhodli prostřednictvím jeho syntaxe popsané výše). Stačí předat nástroji číslo, které chcete zohlednit jako argument. Chcete-li například najít prvočinitele řekněme 20, použijte faktor následujícím způsobem:
factor 20
Následuje výstup, který byl vytvořen v mém systému:
Takže takto můžete použít faktor příkaz. Samozřejmě můžete příkazu předat více čísel jako argument najednou.
Nástroj nenabízí žádné další hlavní možnosti příkazového řádku, kromě běžného --help a --version které jsou k dispozici pro téměř každý nástroj příkazového řádku v Linuxu.
Q2. Jaký faktor algoritmu používá?
Podle dokumentace GNU používá příkaz factor Pollard-Brent rho algoritmus. Dokumentace (viz zde) také naznačuje, že algoritmus je účinný pouze pro čísla s relativně malými faktory. Zde je výňatek z dokumentace:
Factoring large numbers is, in general, hard. The Pollard-Brent rho algorithm used byfactor
is
particularly effective for numbers with relatively small factors. If you wish to factor large
numbers which do not have small factors (for example, numbers which are the product of two large
primes), other methods are far better.
Iffactor
is built without using GNU MP, only single-precision arithmetic is available, and so
large numbers (typically 2^{128} and above) will not be supported. The single-precision code uses
an algorithm which is designed for factoring smaller numbers.
O3. Proč faktor existuje?
No, není o tom žádné oficiální slovo, ale odborníci spekulují, že někdo (nebo skupina) zabývající se prvočísly vyvinul tento nástroj před půl stoletím. A skutečnost, že byla od té doby zahrnuta do unixových a linuxových distribucí, lze přičíst nedostatku jakéhokoli důvodu, proč tak neučinit.
Diskuse na toto téma je přístupná zde.
Závěr
Je zřejmé, že příkaz factor je specializovaný nástroj. Pouze ti, kteří se zabývají prvočísly/faktory, by to považovali za užitečné. Ale znovu, není na škodu se o nástroji dozvědět (zvláště když s ním není spojena prakticky žádná křivka učení) a zapamatovat si to, jak nikdy nevíte, kdy vám to může zachránit den.
Manuálovou stránku faktoru můžete otevřít kliknutím sem.