GNU/Linux >> Linux の 問題 >  >> Linux

初心者向けのLinuxファクターコマンドチュートリアル(例付き)

Linuxコマンドラインユーザーであり、作業が素数を中心に展開している場合は、役立つコマンドラインユーティリティがあります。問題のツールはファクターです 、およびこのチュートリアルでは、なぜ存在するのか、どのように機能するのか、どのように使用できるのかなどについて簡単に説明します。ここに記載されているすべての例と手順は、Ubuntu16.04LTSでテストされていることに注意してください。

Linuxファクターコマンド

ファクター Linuxのコマンドは、数値の素因数を提供します。ツールの構文は次のとおりです。

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コマンドの使用方法は?

使用法は非常に簡単です(上記の構文から推測できるように)。因数分解したい数値を引数としてツールに渡すだけです。たとえば、たとえば20の素因数を見つけるには、 factorを使用します。 次のように:

factor 20

以下は、私のシステムで生成された出力です:

これが、ファクターを使用する方法です。 指図。もちろん、一度にコマンドの引数として複数の数値を渡すことができます。

このツールは、通常の-help を除いて、他の主要なコマンドラインオプションを提供しません。 および-バージョン Linuxのほぼすべてのコマンドラインツールにあります。

Q2。どのアルゴリズム要素が使用されますか?

GNUのドキュメントによると、factorコマンドは Pollard-Brent rhoを使用します アルゴリズム。ドキュメント(ここを参照)は、アルゴリズムが比較的小さな要素を持つ数値に対してのみ有効であることも示唆しています。ドキュメントからの抜粋は次のとおりです。

Factoring large numbers is, in general, hard. The Pollard-Brent rho algorithm used by factor 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.

If factor 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.

Q3。なぜ要因が存在するのですか?

まあ、これについての公式の言葉はありませんが、専門家は素数を扱う誰か(またはグループ)が半世紀以上前にツールを開発したと推測しています。そして、それがUnixおよびLinuxディストリビューションに含まれているという事実は、そうしない理由がないことに起因している可能性があります。

このトピックに関するディスカッションには、ここからアクセスできます。

結論

明らかに、factorコマンドはニッチなツールです。素数/因子を扱う人だけがそれが役に立つと思うでしょう。しかし、繰り返しになりますが、ユーティリティについて学習し(特に、それに関連する学習曲線が実質的にない場合)、それがあなたの日を救うかもしれないとき、あなたが決して知らないように、それを覚えていても害はありません。

ここにアクセスすると、factorのマニュアルページにアクセスできます。


Linux
  1. Linuxユーザー初心者向けコマンドチュートリアル(例付き)

  2. 初心者向けのLinuxsumコマンドチュートリアル(例付き)

  3. 初心者向けのLinuxbasenameコマンドチュートリアル(例付き)

  1. Linux yes初心者向けコマンドチュートリアル(例付き)

  2. 初心者向けのLinuxnprocコマンドチュートリアル(例付き)

  3. 初心者向けのLinuxtacコマンドチュートリアル(例付き)

  1. 初心者向けのLinuxexprコマンドチュートリアル(例付き)

  2. Linuxは初心者向けのコマンドチュートリアルを展開します(例付き)

  3. 初心者向けのLinuxsleepコマンドチュートリアル(例付き)