Có sử dụng thực tế cho lệnh nhân tố GNU không?


17

Nhìn qua GNU Coreutils , tôi phát hiện ra factorlệnh mà tôi chưa bao giờ nhận thấy trước đây.

Đọc trang người đàn ông:

In các thừa số nguyên tố của từng số nguyên được chỉ định. Nếu không được chỉ định trên dòng lệnh, hãy đọc chúng từ đầu vào tiêu chuẩn.

Có một ứng dụng thực tế cho factor, hoặc nó chỉ là một gói trình diễn / đồ chơi?

Câu trả lời:


17

Wikipedia, "Factor (Unix)" với một sự thú vị:

yếu tố lần đầu tiên xuất hiện trên phiên bản thứ 5 Research Unix vào năm 1974, dưới dạng tiện ích "người dùng duy trì" (phần 6 của hướng dẫn). Trong phiên bản thứ 7 năm 1979, nó đã được chuyển vào phần "lệnh" chính của hướng dẫn sử dụng (phần 1). Từ đó, tiện ích yếu tố đã được sao chép sang tất cả các biến thể khác của Unix, bao gồm cả Unix và BSD thương mại. Trong một số biến thể của Unix, nó được phân loại là một "trò chơi" hơn là một tiện ích nghiêm trọng, và do đó được ghi lại trong phần 6.

Vì vậy, có vẻ như một số người dùng thích chơi xung quanh với các yếu tố chính và yếu tố đã viết - và một khi nó tồn tại, có lẽ không có lý do chính đáng nào để không đưa nó làm lệnh trong các phiên bản Unix tiếp theo. Vì vậy, "sử dụng thực tế" của yếu tố có thể phụ thuộc vào những gì bạn cho là thực tế - nếu bạn theo lý thuyết số nguyên tố, nó có thể là một công cụ / trò chơi tuyệt vời / bất cứ điều gì.


6

Tôi biết rằng trong ít nhất một trường hợp, đối với tôi factor là hữu ích trong việc phân tích một tệp dữ liệu lớn có định dạng không xác định.

Nếu bạn nghi ngờ một tệp có các bản ghi độ dài cố định, các yếu tố chính của độ dài của tệp cung cấp một điểm bắt đầu để xác định độ dài bản ghi thực tế.


4

Nó sẽ cho bạn biết những số nguyên tố nào có thể được nhân với nhau để lấy số bạn đã chỉ định:

ví dụ 20 = 2 * 2 * 5

Vì thế,

> factor 20

Bạn lấy 20: 2 2 5 như đầu ra

Nếu số là số nguyên tố, ví dụ 19, bạn sẽ chỉ nhận được một số 19.


Cảm ơn, tôi loại có được điều này từ trang người đàn ông. Tôi đã tò mò hơn tại sao bạn muốn làm điều này trong một kịch bản shell, hoặc tương tự. Làm thế nào thường xuyên mọi người thực sự cần rễ gốc? Tôi cập nhật câu hỏi để rõ ràng hơn.
Gavin Brock


2

Đây có thể là một tiện ích xuất hiện từ những ngày đầu của UNIX, trước khi các máy tính khoa học rẻ, nhỏ và dồi dào.

Nó có thể đã phục vụ để cho phép các nhà phát triển UNIX gốc cho thấy rằng toàn bộ điều này có thể làm điều gì đó hữu ích và nó sẽ tiếp tục nhận được tài trợ.


1
Nó cho thấy không có tính năng nào của Unix mặc dù nó hoàn toàn là tính toán.
Stéphane Chazelas

2
Trong những ngày đầu của Unix, bộ roffsắp chữ được phát triển để đáp ứng các yêu cầu tài trợ của Unix.
Kusalananda

0

Số nguyên tố đóng một vai trò lớn trong mật mã học, mặc dù tôi biết rất ít về nó, tôi có thể hiểu rằng họ có thể thấy nó hữu ích để xác định các số nguyên tố lớn và tương tự


5
factorđược giới hạn ở số phù hợp với một số nguyên không dấu. Trường hợp tốt nhất, đó là 64 bit (18,446,744,073,709,551,615), nhưng số lượng nhỏ nhất bạn sử dụng một cách hợp lý, ví dụ, RSA là 2048 bit. IOW, đó là lớn hơn nhiều so với yếu tố có thể xử lý. Trong thực tế, nó lớn hơn nhiều, viết ra bao nhiêu lần lớn hơn độ dài tối đa của một bình luận . Nó dài gần 600 chữ số (đó là 2¹⁹⁸⁴ nếu bạn muốn tự mình tính toán nó, ví dụ bc:)
derobert

Vì vậy, ngày nay không hữu ích, nhưng có thể 35 năm trước? Có phải mật mã đã sử dụng các khóa có mức entropy cao như vậy không? Chỉ cần nghĩ rằng nó có thể là một lý do có thể nó tồn tại.
Drake Clarris

Không. Nếu yếu tố có thể là yếu tố số (không cần đăng ký trong nhiều, nhiều năm về nó), thì nó là vô dụng đối với mật mã. Ngoài ra, tôi đặt cược yếu tố sử dụng thuật toán tương đối chậm ...
derobert

1
Nói với tôi tôi biết rất ít về mật mã. haha
Drake Clarris

3
@derobert ít nhất là phiên bản trên máy của tôi (8.25) sử dụng libgmp và có thể tính số lượng rất lớn: 184467440737095516150000000000001: 19 37 227601536870423 1152893543912729
Viktor Dahl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.