Apakah ada penggunaan praktis untuk perintah faktor GNU?


17

Melihat melalui GNU Coreutils , saya melihat factorperintah, yang belum pernah saya perhatikan sebelumnya.

Membaca halaman manual:

Cetak faktor prima dari setiap bilangan bulat yang ditentukan NUMBER. Jika tidak ada yang ditentukan pada baris perintah, bacalah dari input standar.

Apakah ada penggunaan praktis untuk factor, atau hanya paket demonstrasi / mainan?

Jawaban:


17

Wikipedia, "Factor (Unix)" dengan pandangan yang menarik:

faktor pertama kali muncul pada Research Unix edisi ke-5 pada tahun 1974, sebagai utilitas "yang dipertahankan pengguna" (bagian 6 dari manual). Dalam edisi ke-7 pada tahun 1979, ia dipindahkan ke bagian "perintah" utama dari manual (bagian 1). Dari sana, utilitas faktor disalin ke semua varian Unix lainnya, termasuk Unix komersial dan BSD. Dalam beberapa varian Unix, itu diklasifikasikan sebagai "permainan" lebih dari utilitas serius, dan karenanya didokumentasikan dalam bagian 6.

Jadi sepertinya beberapa pengguna suka bermain-main dengan faktor prima dan menulis faktor - dan begitu ada, mungkin tidak ada alasan kuat untuk tidak memasukkannya sebagai perintah dalam versi Unix berikutnya. Jadi "penggunaan praktis" faktor mungkin tergantung pada apa yang Anda anggap praktis - jika Anda tertarik pada teori bilangan prima, itu mungkin alat / permainan / apa pun yang hebat.


6

Saya tahu bahwa setidaknya dalam satu kasus, bagi saya factorsangat membantu dalam analisis file data besar format yang tidak diketahui.

Jika Anda mencurigai file memiliki catatan panjang tetap, faktor utama panjang file memberikan titik awal untuk menentukan panjang rekaman aktual.


4

Ini akan memberi tahu Anda bilangan prima apa yang dapat dikalikan bersama untuk mendapatkan nomor yang telah Anda tentukan:

misalnya 20 = 2 * 2 * 5

Begitu,

> factor 20

Anda dapatkan 20: 2 2 5sebagai output

Jika nomornya prima, misalnya 19, Anda akan mendapatkan 19hanya.


Terima kasih, saya mendapatkan ini dari halaman manual. Saya lebih penasaran mengapa Anda ingin melakukan ini dalam skrip shell, atau serupa. Seberapa sering orang benar-benar membutuhkan akar prima? Saya memperbarui pertanyaan agar lebih jelas.
Gavin Brock


2

Ini mungkin sebuah utilitas yang diturunkan sejak awal UNIX, sebelum kalkulator ilmiah murah, kecil, dan berlimpah.

Mungkin berfungsi untuk memungkinkan para pengembang UNIX asli untuk menunjukkan bahwa semuanya bisa melakukan sesuatu yang bermanfaat dan harus terus menerima dana.


1
Ini menunjukkan tidak ada fitur Unix karena itu murni komputasi.
Stéphane Chazelas

2
Pada hari-hari awal Unix, roffpenata huruf dikembangkan untuk memenuhi persyaratan pendanaan Unix.
Kusalananda

0

Bilangan prima memainkan peran besar dalam kriptografi, meskipun saya tahu sedikit tentang hal itu, saya dapat memahami bahwa mereka mungkin menemukan itu berguna untuk mengidentifikasi bilangan prima besar dan sejenisnya


5
factorterbatas pada angka yang sesuai dengan bilangan bulat yang tidak ditandatangani. Kasus terbaik, itu 64 bit (≤ 18.446.744.073.709.551.615) —tetapi jumlah terkecil yang Anda gunakan secara wajar dalam contohnya, RSA adalah 2048 bit. TKI, itu jauh lebih besar daripada yang bisa ditangani faktor. Bahkan jauh lebih besar, yang menuliskan berapa kali lebih besar melebihi panjang maksimum komentar . Panjangnya hampir 600 digit (ini 2¹⁹⁸⁴ jika Anda ingin menghitungnya sendiri dengan misalnya, bc)
derobert

Jadi tidak berguna hari ini, tapi mungkin 35 tahun yang lalu? Apakah kriptografi menggunakan kunci dengan entropi setinggi itu? Hanya berpikir itu mungkin menjadi alasan yang mungkin ada.
Drake Clarris

Tidak. Jika faktor bisa menjadi faktor angka (tanpa mengunyah selama bertahun-tahun), maka tidak ada gunanya untuk kriptografi. Juga, saya yakin faktor menggunakan algoritma yang relatif lambat ...
derobert

1
Sudah kubilang aku tahu sedikit tentang kriptografi. haha
Drake Clarris

3
@derobert setidaknya versi di komputer saya (8,25) menggunakan libgmp dan dapat memperhitungkan jumlah yang sangat besar: 184467440737095516150000000000001: 19 37 227601536870423 1152893543912729
Viktor Dahl
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.