Если посмотреть на список услуг хостинга Fornex, то видно, что не в последнюю очередь он ориентируется на веб-мастеров. Во-первых, кроме традиционных предложений есть: AntiDDoS защита, организация Backup, VPN и создание GEO-кластера. Во-вторых, имеется бесплатная базовая поддержка, партнерская программа, помощь с переносом проектов и хорошая цена/качество на SSD/VPS хостинг. К тому же среди клиентов Pikabu,Читать далее… >
Когда со мной сразу соглашаются, я чувствую, что я не прав (О. Уайльд).
Команда factor в Linux для начинающих (с примерами)
Если вы пользователь командной строки в Linux, и ваша работа вращается вокруг простых чисел, есть утилита командной строки, которая может помочь вам, инструмент factor. В этой статье мы быстро обсудим такие вещи, как, почему она существует, как она работает, и как вы можете использовать ее. Пожалуйста, обратите внимание, что все примеры и инструкции, упомянутые здесь, были протестированы на Ubuntu 16.04 LTS.
Команда factor в Linux
Команда factor в Linux дает простые множители числа. Вот синтаксис инструмента:
factor [NUMBER]...
А вот как man page описывает утилиту:
Print the prime factors of each specified integer NUMBER. If none are specified on the command
line, read them from standard input.
Q1. Как использовать команду factor?
Использование довольно легко (как вы уже догадались, через его синтаксис описан выше). Просто укажите число, которое вы хотите указать в утилите factor в качестве аргумента. Например, чтобы найти простые множители, скажем, 20, используют factor следующим образом:
factor 20
Ниже приведен результат, который был произведен в системе:
root@destroyer:~# factor 20
20: 2 2 5
Конечно, вы можете передать несколько чисел в качестве аргумента команды factor на одном дыхании.
У инструмента нет каких – либо других основных параметров командной строки, за исключением регулярного –help и –version, которые есть почти у каждого инструмента командной строки в Linux.
root@destroyer:~# factor --help
Usage: factor [NUMBER]...
or: factor OPTION
Print the prime factors of each specified integer NUMBER. If none
are specified on the command line, read them from standard input.
--help display this help and exit
--version output version information and exit
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Full documentation at: <http://www.gnu.org/software/coreutils/factor>
or available locally via: info '(coreutils) factor invocation'
Q2. Какой алгоритм использует factor?
Согласно документации GNU, команда factor использует алгоритм Pollard-Brent rho. Документация (смотрите здесь), также предлагает эффективный алгоритм только для чисел с относительно малыми коэффициентами. Вот выдержка из документации:
Из документации:
Факторинг большого числа, в общем, трудно. Алгоритм Pollard-Brent rho, используемый factor особенно эффективен для чисел с относительно небольших факториалом. Если вы хотите учитывать большие числа, которые не имеют небольшие факториалы (например, число, которые являются произведением двух больших простых чисел), другие методы гораздо лучше. Если factor построен без использования GNU MP, только с одинарной точностью доступна арифметическое, и поэтому большое число (обычно 2 ^ {128} и выше) не будет поддерживаться. Код одинарной точности использует алгоритм, который предназначен для факторинга меньшего числа.
Q3. Почему factor существует?
Ну, нет никакого официального слова об этом, но эксперты предполагают, кто-то (или группа) имели дело с простыми числами и разработали инструмент гдето полвека назад. И тот факт, что с тех пор он был включен в дистрибутивы Unix и Linux можно отнести отсутствие каких-либо причин не делать этого.
С дискуссией по этой теме можно ознакомиться здесь.
Вывод
Очевидно, что команда factor является инструментом ниши. Только те, которые часто используют простые числа/факторы могли бы найти ее полезным. Но опять же, нет абсолютно никакого вреда, чтобы узнать о полезности (особенно, когда практически нет кривой обучения, связанной с ней).
Вы можете получить доступ к справочной странице factorа здесь.
Просмотров: 90
Если статья понравилась, то поделитесь ей в социальных сетях:
Комментарии: