Чи є практичне використання для команди GNU factor?


17

Переглядаючи GNU Coreutils , я помітив factorкоманду, яку я ніколи раніше не помічав.

Читання сторінки чоловіка:

Роздрукуйте прості множники кожного вказаного цілого числа НОМЕР. Якщо в командному рядку не вказано жодного, прочитайте їх зі стандартного введення.

Чи є практичне використання для цього factorчи це лише демонстраційний пакет / іграшки?

Відповіді:


17

Вікіпедія, "Фактор (Unix)" з цікавим заходом:

Фактор вперше з'явився у 5-му виданні Research Unix у 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єдиний.


Дякую, я якось отримав це зі сторінки man. Мені було цікавіше, чому ви хочете зробити це в сценарії оболонки чи подібному. Як часто люди насправді потребують головних коренів? Я оновив питання, щоб було зрозуміліше.
— Гевін Брок


2

Це може бути утиліта, що виникла з перших днів UNIX, до того, як наукові калькулятори були дешевими, маленькими та багатими.

Можливо, це дозволило розробникам оригінального UNIX показати, що вся справа може зробити щось корисне і що вона повинна продовжувати отримувати фінансування.


1
Він не демонструє жодної функції Unix, хоча як суто обчислювальний.
— Стефан Шазелас

2
У перші дні Unix roffнабір машин був розроблений для задоволення вимог фінансування Unix.
— Кусалаланда

0

Прості числа відіграють велику роль у криптографії, хоча я про це знаю дуже мало, я можу подумати, що вони можуть вважати його корисним для виявлення великих праймерів тощо


5
factorобмежується числами, які вписуються в непідписане ціле число. У кращому випадку, це 64 біти (≤ 18,446,744,073,709,551,615) - але найменше число, яке ви розумно використовуватимете, наприклад, RSA - 2048 біт. IOW, Це набагато більше, ніж може справити фактор. Насправді його настільки більше, що виписування в скільки разів більше перевищує максимальну довжину коментаря . Це майже 600 цифр (це 2¹⁹⁸⁴, якщо ви хочете обчислити його, наприклад, bc)
— derobert

Так не корисно сьогодні, а може, 35 років тому? Тоді криптографія використовувала ключі з такою високою ентропією? Просто подумав, що це може бути можливою причиною його існування.
— Дрейк Кларріс

Ні. Якщо фактор може підрахувати кількість (не змінюючи при цьому багато, багато років), то це не марно для криптографії. Крім того, фактор
— обміну

1
Я сказав, що я знаю дуже мало про криптографію. ха-ха
— Дрейк Кларріс

3
@derobert принаймні версія на моїй машині (8.25) використовує libgmp і може враховувати дуже великі цифри: 184467440737095516150000000000001: 19 37 227601536870423 1152893543912729
— Віктор Даль,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.