Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GL00.doc
Скачиваний:
3
Добавлен:
07.08.2019
Размер:
308.22 Кб
Скачать

6

0. Предварительные сведения.

0.1. Функции «пол» и «потолок»

Пусть . Если , то функция «пол» от x равна n, , т.е. равна наибольшему целому n, меньшему или равному x. (Возможно, ранее вы встречали для этой функции другое обозначение: — целая часть числа.) Если , то функция «потолок» от x равна m, , т.е. равна наименьшему целому m, большему или равному x. Ясно, что если x — целое, то .

Пример. .

0.2. Остатки.

Пусть m и n — натуральные числа. Тогда существует и единственно представление вида:

Здесь m — делимое, n — делитель, k — частное (неполное частное), r — остаток. Положим . А для остатка введем новое обозначение: (читается: m по модулю n). Операция с двумя операндами называется бинарной — это сложение, вычитание, умножение, деление. Теперь к ним добавилась новая бинарная операция — вычисление остатка, или взятие по модулю.

Эту операцию можно обобщить и на действительные числа. Определим эту операцию так: . Вы сталкивались в школе с совпадением разных углов на «тригонометрическом круге». Можно записать, например, . Но мы будем работать только с целыми числами m и n.

Приведенные определения взяты из книги [Грэхем Р., Кнут Д., Паташник О. Конкретная математика].

Для натуральных (т.е. положительных целых) чисел m и n частное и остаток всегда определяются так, как описано выше. А вот если один операнд или оба — отрицательны, единообразия, к сожалению, нет. Например, в языке Си принято, что если m/n — положительно, то . А вот если m/n — отрицательно, то . В обоих случаях происходит «усечение в сторону нуля». Соответственно, по-другому вычисляется и остаток.

Пример. 1) .

2) по Д.Кнуту: ;

по Стандарту Си: .

Самостоятельно вычислите и для обоих вариантов определения остатка.

Итак, для мы получили два разных ответа: –1 и 2. Эти ответы можно считать эквивалентными, потому что выполняются следующие равенства: . Эта эквивалентность будет точно определена в следующем пункте.

0.2. Сравнения.

Зафиксируем натуральное число n ( ). Пусть а и b — целые числа ( ).

Определение. Числа а и b сравнимы по модулю n, если они дают одинаковые остатки при делении на n, т.е. . Это записывается так:

Обратите внимание, что в этой формуле используется символ тождественности , а не символ равенства =. Сама формула читается так: «а сравнимо с b по модулю n».

Можно дать эквивалентное определение: .

Пример. , т.к. –16 – 9 = –25 =  .

Особый интерес представляет случай, когда . Получается, что множество целых чисел можно разбить на непересекающиеся подмножества чисел, дающих при делении на n один и тот же остаток. Эти остатки является «номерами» подмножеств, а сами подмножества называют «классами вычетов по модулю n». Эти «номера» составляют новое множество . Элементы этого множества носят название «вычеты». Можно было выбрать в качестве элементов этого множества и другие числа, лишь бы они лежали в соответствующих подмножествах.

Пример. Если n = 2, то подмножествам четных и нечетных чисел можно сопоставить числа 0 и 1. Получаем множество . Но можно также положить .

В новом множестве можно выполнять операции сложения и умножения. Эти операции оказываются «согласованными» с такими же операциями в Z. Это обосновывается двумя теоремами.

Теорема 1. Если и , то .

Доказательство. , где .

Теорема 2. Если и , то .

Доказательство. , где .

Следствие. Если , то , где .

Пример. Докажем, что для любого целого n число делится на 3. Ясно, что . Поэтому рассмотрим три случая.

1) ;

2) ;

3) .

Задача. Доказать, что для любого целого n число делится на 5.

В следующем примере мы увидим, что наряду с положительными вычетами удобно рассматривать отрицательные вычеты.

Пример. Найти остаток от деления на 17 числа 2011989.

. Далее, . Оказывается, последовательность — периодическая с периодом 16, т.е. . Воспользуемся этим и представим число 1989 в виде , т.е. .

Тогда . Ответ: 12.

Задача. Найти остаток от деления на 8 числа .

Решение. . Ответ: .

Задача. Доказать, что делится на 31.

Решение. . Поэтому .

0.3. Кольцо вычетов.

Итак, в множестве можно определить операции сложения и умножения. Для этого надо, рассматривая элементы как элементы , выполнить над ними операцию, а результат привести по модулю n. Рассмотрим, например, . . Поэтому в выполняется равенство 3 + 2 = 1. Теперь мы можем составить таблицы сложения и умножения в (рис. 0.1).

+

0

1

2

3

0

1

2

3

0

0

1

2

3

0

0

0

0

0

1

1

2

3

0

1

0

1

2

3

2

2

3

0

1

2

0

2

0

2

3

3

0

1

2

3

0

3

2

1

Рис. 0.1

Множество с двумя операциями называется кольцом, если оно удовлетворяет некоторому набору аксиом. Эти аксиомы можно найти в любом учебнике по общей алгебре, здесь же их перечисление неуместно. (Наиболее ясное изложение содержится в [Кострикин А.И. Введение в алгебру. Основы алгебры. — М.: Физматлит, 1994. — 320 с.], [Винберг Э.Б. Курс алгебры. — М.: Издательство «Факториал Пресс», 2002. — 544 с.]). Множество называется кольцом вычетов по модулю n.

В множестве , выбранном в качестве примера, можно указать другие элементы. Нетрудно видеть, что . Поэтому, если наложить ограничение, что элементы , рассматриваемые как элементы Z, не превосходят по абсолютной величине число 3, мы получим следующие представления: = {0,–3,–2,–1} =  {0,1,2,–1} = {0,1,–2,–1}. Для этих представлений не вводится специальных обозначений — с точки зрения алгебраиста они идентичны (более точно: изоморфны). Нас будут интересовать два представления: первое и последнее. Для первого представления мы уже выписали таблицы сложения и умножения. Выпишем их для последнего из представлений.

+

0

1

–2

–1

0

1

–2

–1

0

0

1

–2

–1

0

0

0

0

0

1

1

–2

–1

0

1

0

1

2

3

–2

–2

–1

0

1

–2

0

–2

0

–2

–1

–1

0

1

–2

–1

0

–1

–2

1

Сравнивая таблицы для обоих представлений, мы видим их «идентичность»: Например, . Это произошло благодаря согласованности операций сложения и умножения в кольцах Z и .

Для представления выглядят так: {0,1,2,3,4,5,6,7} и {–4,–3,–2,–1,0,1,2,3}. Выпишите самостоятельно таблицы сложения и умножения для обоих представлений. Предварительно установите соответствие элементов.

0.4. Логические операции.

Логическая переменная может принимать два значения: ИСТИНА (true) и ЛОЖЬ (false). Первое значение принято обозначать единицей, а второе — нулем.

Имеется одна нетривиальная унарная операция — отрицание. (Унарная — применяемая к одному операнду.) Когда она применяется к логической переменной a, это обозначается так: или . Сама операция задается таблицей истинности (табл. 0.1).

Таблица 0.1.

a

0

1

1

0

Бинарные операции (бинарные — применяемые к двум операндам) также задаются таблицей истинности (таблица 0.2). Перечислим операции, которые нам понадобятся: — дизъюнкция, логическое «ИЛИ», — конъюнкция, логическое «И». — эквивалентность, — отрицание эквивалентности, сложение по модулю 2, исключающее «ИЛИ» (eXclusive OR).

Таблица 0.2.

a

b

0

0

0

0

1

0

0

1

1

0

0

1

1

0

1

0

0

1

1

1

1

1

1

0

Поясним столбцы этой таблицы. Дизъюнкция двух переменных истинна, если истинна хотя бы одна из переменных (точнее: хотя бы одна из переменных принимает значение ИСТИНА). Напротив, конъюнкция истинна, только если истинны обе переменные. Следует помнить, что в обыденном языке союзы «или» и «и» нередко имеют другой смысл.

Операция «эквивалентность» достаточно очевидна: если значения переменных a и b совпадают, то их «эквивалентность» истинна, а если нет, то ложна. Сама по себе эта операция нами использоваться не будет. Она введена лишь для пояснения последнего столбца таблицы. В нем стоят отрицания элементов предыдущего столбца, поэтому операция называется «отрицание эквивалентности». В то же время этот столбец вместе с двумя первыми столбцами можно рассматривать как таблицу сложения в . И, наконец, название операции «исключающее ИЛИ» говорит о том, что ее результат истинен только тогда, когда истинна ровно одна переменная, но не обе одновременно.

0.5. Строки.

Конечное множество символов называется алфавитом. Из символов алфавита можно составлять строки (цепочки). Пустая строка — строка, в которую не входит ни один символ. Длина строки — количество символов в строке.

Конкатенация (объединение) строк x и y — строка xy.

Пусть x, y и z — строки (возможно, пустые). Строка xyz — конкатенация этих строк. Тогда y — подстрока строки xyz. Строка x — префикс строки xyz. Строка z — суффикс строки xyz. Естественно, префикс и суффикс также являются подстроками.

Пример. Дана строка abba. Ее длина равна 4. Ее префиксы: пустая строка, а также строки a, ab, abb, abba. Ее суффиксы: пустая строка и строки a, ba, bba, abba. Пример подстроки: bb. А вот aba подстрокой не является (хотя является подпоследовательностью последовательности символов abba).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]