Nếu bạn là người dùng dòng lệnh Linux và công việc của bạn xoay quanh các số nguyên tố, thì có một tiện ích dòng lệnh có thể giúp ích cho bạn. Công cụ được đề cập là factor và trong hướng dẫn này, chúng ta sẽ thảo luận nhanh về những vấn đề như lý do tại sao nó tồn tại, cách thức hoạt động và cách bạn có thể sử dụng nó. Xin lưu ý rằng tất cả các ví dụ và hướng dẫn được đề cập ở đây đều đã được thử nghiệm trên Ubuntu 16.04LTS.
Và đây là cách trang hướng dẫn của tiện ích mô tả nó:
Sau đây là đầu ra được tạo ra trên hệ thống của tôi:
Vậy là bạn có thể sử dụng lệnh factor theo cách đó. Tất nhiên, bạn có thể truyền nhiều số làm đối số cho lệnh cùng một lúc.
Công cụ này không cung cấp bất kỳ tùy chọn dòng lệnh chính nào khác, ngoại trừ --help và --version thông thường có trong hầu hết mọi công cụ dòng lệnh trong Linux.
Bạn có thể truy cập vào một cuộc thảo luận về chủ đề này tại đây.
Bạn có thể truy cập vào trang hướng dẫn của factor bằng cách tiêu đề tại đây.
Lệnh factor của Linux
Lệnh factor trong Linux cung cấp cho bạn các thừa số nguyên tố của một số. Đây là cú pháp của công cụ:
Mã:
factor [NUMBER]...
Mã:
In ra các thừa số nguyên tố của mỗi số nguyên NUMBER được chỉ định. Nếu không có số nào được chỉ định trên dòng lệnh, hãy đọc chúng từ đầu vào chuẩn.
Câu hỏi 1. Làm thế nào để sử dụng lệnh factor?
Cách sử dụng khá dễ (như bạn đã đoán qua cú pháp được mô tả ở trên). Chỉ cần truyền số mà bạn muốn phân tích làm đối số cho công cụ. Ví dụ, để tìm các thừa số nguyên tố của, chẳng hạn, 20, hãy sử dụng factor theo cách sau:
Mã:
factor 20
Vậy là bạn có thể sử dụng lệnh factor theo cách đó. Tất nhiên, bạn có thể truyền nhiều số làm đối số cho lệnh cùng một lúc.
Công cụ này không cung cấp bất kỳ tùy chọn dòng lệnh chính nào khác, ngoại trừ --help và --version thông thường có trong hầu hết mọi công cụ dòng lệnh trong Linux.
Câu hỏi 2. Thuật toán factor nào sử dụng?
Theo tài liệu GNU, lệnh factor sử dụng thuật toán Pollard-Brent rho. Tài liệu (xem tại đây), cũng cho thấy thuật toán này chỉ hiệu quả đối với các số có các thừa số tương đối nhỏ. Sau đây là một đoạn trích từ tài liệu:
Mã:
Phân tích các số lớn nói chung là khó. Thuật toán rho Pollard-Brent được [ICODE]factor[/ICODE] sử dụng
đặc biệt hiệu quả đối với các số có các ước tương đối nhỏ. Nếu bạn muốn phân tích các số
lớn không có ước nhỏ (ví dụ, các số là tích của hai số
nguyên tố lớn), các phương pháp khác tốt hơn nhiều.
Nếu [ICODE]factor[/ICODE] được xây dựng mà không sử dụng GNU MP, thì chỉ có số học độ chính xác đơn, do đó các số
lớn (thường là [I]2^{128}[/I] trở lên) sẽ không được hỗ trợ. Mã độ chính xác đơn sử dụng
một thuật toán được thiết kế để phân tích các số nhỏ hơn.
Câu hỏi 3. Tại sao factor tồn tại?
Chà, không có thông báo chính thức nào về điều này, nhưng các chuyên gia suy đoán rằng một ai đó (hoặc một nhóm) xử lý số nguyên tố đã phát triển công cụ này cách đây hơn nửa thế kỷ. Và thực tế là nó đã được đưa vào các bản phân phối Unix và Linux có thể được quy cho việc không có lý do gì để không làm như vậy.Bạn có thể truy cập vào một cuộc thảo luận về chủ đề này tại đây.
Kết luận
Rõ ràng, lệnh factor là một công cụ chuyên biệt. Chỉ những người xử lý số nguyên tố/thừa số mới thấy nó hữu ích. Nhưng một lần nữa, không có hại gì khi tìm hiểu về tiện ích này (đặc biệt là khi hầu như không có đường cong học tập nào liên quan đến nó) và ghi nhớ nó, vì bạn không bao giờ biết, khi nào nó có thể cứu bạn.Bạn có thể truy cập vào trang hướng dẫn của factor bằng cách tiêu đề tại đây.