Команда factor

Команда factor позволяет задействовать одноименную утилиту, предназначенную для вывода простых множителей заданных целых чисел. В том случае, если числа не задаются, утилита читает стандартный поток ввода. Она едва ли окажется полезной для подавляющего большинства пользователей, тем не менее, она поставляется в составе практически всех Linux-дистрибутивов. Вообще, данная утилита появилась на заре развития Unix, о чем сказано в Wikipedia: «factor впервые появилась в пятой редакции Research Unix, выпущенной в 1974 году в качестве „поддерживаемой пользователями“ утилиты (относящейся к шестой секции руководства). В седьмой редакции, увидевшей свет в 1979 году, она была перемещена в раздел основных команд (первая секция руководства). После этого утилита factor была скопирована во все варианты Unix-систем, включая коммерческие Unix-ы и BSD. В некоторых вариантах Unix она классифицируется как „игра“, а не серьезная утилита, ввиду чего ее документация относится к шестой секции руководства. Свободная версия утилиты factor была разработана для проекта GNU Полом Рубиным в 1986 году. На данный момент она является частью пакета GNU Core Utilities. В 2008 году GNU factor была адаптирована для использования библиотеки GNU MP для арифметики с произвольной точностью, что позволило осуществлять операции с целочисленными значениями любого размера, не ограниченными стандартными для используемой платформы типами данных».

Базовый синтаксис команды выглядит следующим образом:

$ factor [целые числа]

Утилита не поддерживает каких-либо параметров, влияющих на ее работу или активирующих дополнительные функции.

Примеры использования

Вывод простых множителей целых чисел

Утилита реализует свое предназначение без каких-либо дополнительных параметров — достаточно передать ей целые числа, простые множители которых необходимо вывести.

$ factor 17
17: 17

Очевидно, что в случае передачи утилите простого числа, она выведет простое число.

$ factor 16
16: 2 2 2 2

Если же число не является простым, как и ожидается, будут выведены его простые множители.

$ factor 12 555
12: 2 2 3
555: 3 5 37

Утилита без проблем обрабатывает несколько целых чисел. Для этой цели перед каждой последовательностью простых множителей приводятся сами раскладываемые на множители целые числа.

$ factor
34
34: 2 17
987
987: 3 7 47
55
55: 5 11
^C

Для использования в интерактивном режиме достаточно не передавать утилите каких-либо целых чисел. Далее можно просто вводить нужные числа и получать их простые множители. Для прекращения работы в интерактивном режиме достаточно воспользоваться сочетанием клавиш Ctrl+C.