Пример 12-37. Разложение числа на простые множители
Пример 12-37. Разложение числа на простые множители
#!/bin/bash
# factr.sh: Разложение числа на простые множители
MIN=2 # Не работает с числами меньше 2.
E_NOARGS=65
E_TOOSMALL=66
if [ -z $1 ]
then
echo "Порядок использования: $0 number"
exit $E_NOARGS
fi
if [ "$1" -lt "$MIN" ]
then
echo "Исходное число должно быть больше или равно $MIN."
exit $E_TOOSMALL
fi
# Упражнение: Добавьте проверку типа числа (не целые числа должны отвергаться).
echo "Простые множители для числа $1:"
# ---------------------------------------------------------------------------------
echo "$1[p]s2[lip/dli%0=1dvsr]s12sid2%0=13sidvsr[dli%0=1lrli2+dsi!>.]ds.xd1<2" | dc
# ---------------------------------------------------------------------------------
# Автор вышеприведенной строки: Michel Charpentier <charpov@cs.unh.edu>.
# Используется с его разрешения (спасибо).
exit 0
awk
Еще один способ выполнения математических операций, над числами с плавающей запятой, состоит в создании сценария-обертки, использующего математические функции awk.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
6.1.2. Разложение времени: gmtime() и localtime()
6.1.2. Разложение времени: gmtime() и localtime() На практике форма представления даты и времени в виде «секунд с начала эпохи» не является очень удобной, кроме очень простых сравнений. Самостоятельное вычисление компонентов времени, таких, как месяц, день, год и т.д., подвержено
12.1.2. Простые сигналы
12.1.2. Простые сигналы Изначально обработка сигналов была проста. Системный вызов signal() использовался для того, чтобы сообщить ядру, как доставить процессу определенный сигнал.#include <signal.h>void * signal(int signum, void *handler);Здесь signum — это сигнал, который нужно обработать, a handler
Разложение по стопкам
Разложение по стопкам Разложение по стопкам подразумевает организацию файлов текущей папки и всех ее вложенных каталогов в виде стопок по определенному признаку, за который отвечает один из столбцов. Щелкните кнопкой мыши на стрелке заголовка столбца, по значениям
Сложение гармоник и разложение на гармонические составляющие
Сложение гармоник и разложение на гармонические составляющие Создадим новый входной файл, соответствующий рис. 7.4, на котором к схеме рис. 7.1 добавлены еще два независимых источника тока. Мы использовали два источника только для того, чтобы вы могли получить основную и
11.1. Простые проекты
0
6.6. Простые примеры
6.6. Простые примеры Поскольку очереди сообщений System V обладают живучестью ядра, мы можем написать несколько отдельных программ для работы с этими очередями и изучить их
10.5. Простые примеры
10.5. Простые примеры В этом разделе мы напишем несколько простых программ, работающих с именованными семафорами Posix. Эти программы помогут нам узнать особенности функционирования и реализации семафоров. Поскольку именованные семафоры Posix обладают по крайней мере
11.5. Простые программы
11.5. Простые программы Поскольку семафоры System V обладают живучестью ядра, мы можем продемонстрировать работу с ними, написав несколько небольших программ, которые будут выполнять с семафорами различные действия. В промежутках между выполнением отдельных программ
Простые числа
Простые числа ??** Головоломка 16. Чемпион головоломок.На мой взгляд, наиболее замечательная арифметическая головоломка, над которой мне пришлось особенно долго работать и которая дала мне возможность получить некоторые удовлетворительные результаты, — это, конечно,
Пример A-8. days-between: Подсчет числа дней между двумя датами
Пример A-8. days-between: Подсчет числа дней между двумя датами #!/bin/bash# days-between.sh: Подсчет числа дней между двумя датами.# Порядок использования: ./days-between.sh [M]M/[D]D/YYYY [M]M/[D]D/YYYYARGS=2 # Ожидается два аргумента из командной строки.E_PARAM_ERR=65 # Ошибка в числе ожидаемых
Простые классы
Простые классы MFC содержит классы, соответствующие объектам типа простых геометрических фигур, текстовых строк и объектам, определяющим дату и время. В следующей таблице перечислены названия этих классов и их краткие описания. Класс Описание CPoint Объекты класса
18.3.1. Простые операторы if
18.3.1. Простые операторы if Базовая структура оператора if выглядит следующим образом:if условие then командыfiПри использовании оператора if команды ветви then следует указывать в новой строке; если это правило нарушается, отображается сообщение об ошибке. По поводу применения
18.3.10. Простые операторы if else
18.3.10. Простые операторы if else Следующая форма оператора if применяется чаще всего:if условие then команды1 elseкоманды2 fiЕсли условие не удовлетворяет тестированию, часть else оператора if позволяет перейти к соответствующей
Разложение по стопкам
Разложение по стопкам При выборе режима разложения по стопкам файлы в папке упорядочиваются в виде стопок по значениям выбранного свойства (рис. 2.42). Для применения этого режима просмотра щелкните кнопкой мыши на стрелке справа от нужного заголовка и выполните команду