มีการใช้งานจริงสำหรับคำสั่งปัจจัย GNU หรือไม่?


17

เมื่อมองผ่านGNU Coreutilsฉันเห็นfactorคำสั่งที่ฉันไม่เคยสังเกตมาก่อน

อ่านหน้าคน:

พิมพ์ปัจจัยหลักของแต่ละจำนวนเต็มที่ระบุ หากไม่มีการระบุไว้ในบรรทัดคำสั่งให้อ่านจากอินพุตมาตรฐาน

มีการใช้งานจริงfactorหรือเป็นเพียงแค่ชุดสาธิต / ของเล่น?

คำตอบ:


17

Wikipedia, "Factor (Unix)" ที่น่าสนใจ:

ตัวคูณปรากฏตัวครั้งแรกใน Research Unix รุ่นที่ 5 ในปี 1974 ในฐานะยูทิลิตี้ "ดูแลรักษาผู้ใช้" (ส่วนที่ 6 ของคู่มือ) ในฉบับที่ 7 ในปี 1979 มันถูกย้ายไปยังส่วน "คำสั่ง" หลักของคู่มือ (ส่วนที่ 1) จากจุดนั้นยูทิลิตี้ตัวคูณจะถูกคัดลอกไปยังตัวแปรอื่น ๆ ของ Unix รวมถึง Unixes เชิงพาณิชย์และ BSD ในบางรุ่นของ Unix มันจัดว่าเป็น "เกม" มากกว่ายูทิลิตี้ที่ร้ายแรงดังนั้นจึงบันทึกไว้ในส่วนที่ 6

ดังนั้นดูเหมือนว่าผู้ใช้บางคนชอบที่จะเล่นกับปัจจัยที่สำคัญและเขียนปัจจัย - และเมื่อมีอยู่ก็อาจไม่มีเหตุผลที่ดีที่จะไม่รวมมันเป็นคำสั่งในรุ่น Unix ที่ตามมา ดังนั้น "การใช้งานจริง" ของปัจจัยอาจขึ้นอยู่กับสิ่งที่คุณพิจารณาในทางปฏิบัติ - หากคุณเข้าสู่ทฤษฎีจำนวนเฉพาะมันน่าจะเป็นเครื่องมือ / เกม / ที่ยอดเยี่ยม


6

ฉันรู้ว่าอย่างน้อยหนึ่งกรณีสำหรับฉันfactorมีประโยชน์ในการวิเคราะห์ไฟล์ข้อมูลขนาดใหญ่ในรูปแบบที่ไม่รู้จัก

หากคุณสงสัยว่าไฟล์นั้นมีบันทึกความยาวคงที่ปัจจัยหลักของความยาวของไฟล์จะเป็นจุดเริ่มต้นในการพิจารณาความยาวของบันทึกจริง


4

มันจะบอกคุณว่าจำนวนเฉพาะที่สามารถคูณด้วยกันเพื่อรับหมายเลขที่คุณระบุ:

เช่น 20 = 2 * 2 * 5

ดังนั้น,

> factor 20

คุณได้รับ20: 2 2 5เป็นผลลัพธ์

ถ้าจำนวนนั้นเป็นจำนวนเฉพาะเช่น 19 คุณจะได้รับ19เพียงอย่างเดียว


ขอบคุณฉันได้รับสิ่งนี้จากหน้าคน ฉันอยากรู้มากขึ้นว่าทำไมคุณถึงต้องการทำเช่นนี้ในเชลล์สคริปต์หรือคล้ายกัน ผู้คนต้องการรากที่แท้จริงบ่อยแค่ไหน? ฉันอัปเดตคำถามให้ชัดเจนขึ้น
Gavin Brock

3

เครื่องมือส่วนใหญ่มีประโยชน์ต่อใครบางคน ต่อไปนี้เป็นคำถามจากคนที่ต้องการใช้factorเพื่อช่วยแบ่งไฟล์ขนาดใหญ่เป็นชิ้นขนาดที่เหมาะสมที่สุด

ค้นหาตัวหาร "ขนาดใหญ่ปานกลาง" ของตัวเลขที่กำหนดหรือไม่


2

นี่อาจเป็นยูทิลิตี้ที่สืบทอดมาจากยุคแรก ๆ ของ UNIX ก่อนที่เครื่องคิดเลขวิทยาศาสตร์จะมีราคาถูกขนาดเล็กและอุดมสมบูรณ์

อาจทำหน้าที่อนุญาตให้ผู้พัฒนา UNIX ดั้งเดิมแสดงให้เห็นว่าสิ่งทั้งหมดสามารถทำสิ่งที่มีประโยชน์และควรได้รับเงินทุนอย่างต่อเนื่อง


1
มันแสดงให้เห็นถึงคุณสมบัติใด ๆ ของ Unix แม้ว่ามันจะเป็นการคำนวณอย่างหมดจด
Stéphane Chazelas

2
ในวันแรก ๆ ของ Unix ตัวroffเรียงพิมพ์ได้รับการพัฒนาเพื่อตอบสนองความต้องการด้านเงินทุนของ Unix
Kusalananda

0

ตัวเลขสำคัญมีบทบาทอย่างมากในการเข้ารหัสแม้ว่าฉันรู้เพียงเล็กน้อยเกี่ยวกับเรื่องนี้ แต่ฉันสามารถหยั่งถึงว่าพวกเขาอาจพบว่ามีประโยชน์ในการระบุช่วงเวลาที่มีขนาดใหญ่และสิ่งที่คล้ายกัน


5
factorจำกัด เฉพาะตัวเลขที่พอดีกับจำนวนเต็มที่ไม่ได้ลงนาม กรณีที่ดีที่สุดนั่นคือ 64 บิต (≤ 18,446,744,073,709,551,615) - แต่จำนวนที่เล็กที่สุดที่คุณควรใช้เช่น RSA คือ 2048 บิต IOW นั้นใหญ่กว่าปัจจัยที่สามารถจัดการได้ ในความเป็นจริงเพื่อให้มีขนาดใหญ่มากที่เขียนวิธีการหลายครั้งมีขนาดใหญ่เกินความยาวสูงสุดของความคิดเห็น มันมีความยาวเกือบ 600 หลัก (มันคือ2¹⁹⁸⁴ถ้าคุณต้องการคำนวณด้วยตัวคุณเองเช่นbc)
derobert

ดังนั้นวันนี้ไม่มีประโยชน์ แต่อาจจะ 35 ปีที่ผ่านมา? วิทยาการเข้ารหัสลับใช้คีย์ที่มีค่าเอนโทรปีสูงหรือไม่? แค่คิดว่ามันอาจเป็นเหตุผลที่เป็นไปได้ที่มันมีอยู่
Drake Clarris

ไม่ถ้าตัวประกอบสามารถแยกตัวประกอบจำนวน (โดยไม่ได้ตัดเป็นเวลาหลาย ๆ ปี) มันก็ไม่มีประโยชน์อะไรสำหรับการเข้ารหัส นอกจากนี้ฉันเดิมพันปัจจัยที่ใช้วิธีการที่ค่อนข้างช้า ...
derobert

1
บอกแล้วฉันรู้เรื่องการเข้ารหัสน้อยมาก ฮ่าฮ่า
Drake Clarris

3
@derobert อย่างน้อยรุ่นในเครื่องของฉัน (8.25) ใช้ libgmp และสามารถแยกแยะตัวเลขจำนวนมากได้: 184467440737095516150000000000001: 19 37 227601536870423 1152893543912729
Viktor Dahl
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.