Часть I
Число
Глава 1
Простые числа
Физик Ричард Фейнман верил: если человечество столкнется с опасностью потери всего научного знания, но у него будет возможность передать потомкам всего одну фразу о науке, эта фраза должна описывать, как атомы образуют материю. Продолжим фантазировать в том же духе. Если бы мы могли передать следующему поколению всего одну математическую идею, это, как мне кажется, должен быть ответ на вопрос: как много существует простых чисел?
Целые числа
Математическая мысль начинается со счета. Мы используем для счета натуральные числа: 1, 2, 3 и т. д. Отсутствие объектов для счета – и необходимость подобрать число для этого отсутствия – приводит нас к понятию нуля. Когда мы складываем или умножаем натуральные числа, результат всегда представляет собой другое натуральное число. Но вычитание внушает беспокойство. Все хорошо, когда мы вычитаем три из пяти: 5 – 3, но если мы поступим наоборот, то получится 3 – 5, и результат не будет натуральным числом. Мы восполняем этот недостаток, вводя отрицательные числа: –1, –2, –3 и т. д.
Множество всех натуральных и полученных при их вычитании отрицательных чисел вместе с нулем называют целыми числами. Математики используют стилизованную букву Z, чтобы обозначить все целые числа:
ℤ = {…, –4, –3, –2, –1, 0, 1, 2, 3, 4, …}.
Когда мы делим целые числа друг на друга, возникает загвоздка. В то время как мы можем складывать, перемножать целые числа и вычитать их друг из друга в полной уверенности, что получим целое число, результат деления одного целого числа на другое иногда оказывается целым числом, а иногда и нет.
Возьмем два положительных целых числа а и b. Мы говорим, что а делится на b, если частное a / b – тоже целое число. Мы называем a – делимым, b – делителем.
Например, 24 делится на 6 (потому что частное от деления – целое число), но не на 7 (потому что частное не является целым числом). Всякое положительное целое число делится само на себя: если а – положительное целое число, то частное от а / а равно 1, и это, разумеется, целое число. Также всякое положительное целое число делится на 1, потому что, если а – положительное целое число, результат деления а / 1 равен а.
Положительное целое число называется простым, если у него есть ровно два делителя: 1 и оно само.
Например, 17 – простое число, потому что 1 и 17 – его единственные делители. По той же причине 2 – простое число.
С другой стороны, 18 не является простым числом, потому что помимо 1 и самого себя оно делится на 2, 3, 6 и 9. Такие числа, как 18, называют составными. Если говорить математическим языком, то положительное целое число называют составным, если у него есть другие делители помимо 1 и самого себя.
Размежевание чисел на простые и составные касается всех натуральных чисел, кроме 1. Мы выделяем 1 в отдельную категорию и называем единичным элементом, или единицей. Кого-то расстраивает тот факт, что Плутон больше не причисляют к планетам, другие раздражены тем, что 1 не считается простым числом.
Если подытожить, у нас есть три категории положительных целых чисел:
• единица с одним положительным делителем;
• простое число с двумя положительными делителями;
• составное число с тремя и более положительными делителями.
Отмечу, что 1 – единственное в своем роде число, а вот составных чисел бесконечно много: 4, 6, 8, 10, 12 и т. д. – составные числа (и таких еще много).
Но сколько же простых чисел существует?
Разложение на множители
Разложить число на множители означает представить его в виде произведения. Рассмотрим число 84. Мы можем разложить его на множители несколькими способами, например:
2 × 42; 3 × 28; 12 × 7; 2 × 6 × 7; 21 × 4.
В пределе разложить на множители означает найти произведение простых чисел, например: 84 = 2 × 2 × 3 × 7. Нельзя разбить эти множители на части, потому что каждый из них представляет собой простое число. Разумеется, мы можем добавить какое-то количество единиц, например:
84 = 1 × 1 × 2 × 2 × 3 × 7,
но дополнительные множители усложняют, а не упрощают выражение, другие множители от этого не становятся меньше.
Возьмем другой пример: 120. Мы можем представить 120 как 12 × 10 и затем 12 как 2 × 2 × 3, а 10 – как 2 × 5. Это дает:
120 = (2 × 2 × 3) × (2 × 5). (A)
С другой стороны, мы можем начать так: 120 = 4 × 30 и далее заметить, что 4 = 2 × 2, а 30 = 2 × 3 × 5. Вместе это дает:
120 = (2 × 2) × (2 × 3 × 5). (B)
Важно отметить, что простые числа в выражениях (A) и (B) одинаковые, различается лишь порядок, в котором они перемножаются. Это показано на рисунке.
Любой способ представления числа 120 в качестве произведения простых чисел дает один и тот же результат.
Эта единственность разложения на множители зафиксирована в следующей теореме.
Теорема (основная теорема арифметики). Любое положительное целое (натуральное) число может быть разложено на простые множители единственным образом (если пренебречь порядком множителей).
(Здесь необходимо небольшое пояснение. В случае, скажем, числа 30 это утверждение достаточно ясно. Мы можем представить 30 как 2 × 3 × 5 или как 5 × 3 × 2 – разницы нет, отличается лишь порядок множителей. Простое число имеет всего один простой множитель – само себя. Например, множитель 13 – это 13. Но как быть с 1? Принято говорить, что пустое произведение равно единичному элементу; таким образом, произведение отсутствующих элементов равно 1.)
Сочетая простые числа, мы выстраиваем все положительные целые числа. Простые числа – это атомы умножения.
Насколько много?
Вернемся к вопросу: сколько всего простых чисел существует? Ответ – на следующей строчке.
Теорема. Простых чисел бесконечно много.
Утверждение приписывают Евклиду. Доказательство этой теоремы – математическая жемчужина. Мы не можем доказать ее методом перебора. Очевидно, что время от времени в числовом ряде попадаются простые числа. Вот несколько первых простых чисел:
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61 и 67.
Но чем дальше мы идем по последовательности простых чисел, тем обширнее становятся промежутки между ними. Если посмотреть на перечень выше, можно увидеть, что два числа отстоят друг от друга максимум на 6 единиц (например, 53 и 59). Но простые числа 89 и 97 отстоят друг от друга на 8 единиц, все целые числа между ними составные. Или вот другой пример: 139 и 149 – их отделяет 10 единиц. Чем дальше мы двигаемся, тем быстрее увеличиваются промежутки между соседними простыми числами. Можно предположить, что в конечном итоге простые числа должны совсем исчезнуть. На самом деле, хотя они и встречаются все реже, их список в числовом ряду не имеет конца. Впрочем, прежде чем говорить об этом уверенно, мы должны привести доказательство.
Ключевая идея – задаться вопросом: а что, если?..
А что, если количество простых чисел конечно? Если мы продемонстрируем, что предположение: «Количество простых чисел конечно» – приводит к абсурдному выводу, то будем считать его ложным. Вслед за Шерлоком Холмсом мы найдем истину, отбросив невозможные варианты, и у нас получится, что простых чисел бесконечно много.
Вот что нам надо будет сделать:
1. Предположить, что количество простых чисел конечно;
2. Показать, что это предположение ведет к невозможному выводу;
3. Сделать умозаключение, что, раз предположение ведет к логическому противоречию, оно ложно;
4. Вывести из этого, что простых чисел бесконечно много.
А теперь перейдем к делу. Предположим, что простые числа можно пересчитать, и посмотрим, к чему это приведет.
Если количество простых чисел конечно, должно существовать наибольшее простое число P – крайнее в ряду простых чисел. В таком случае полный перечень простых чисел будет выглядеть так:
2, 3, 5, 7, 11, 13, …, P.
Перемножим все эти числа и приплюсуем единицу. Назовем получившееся гигантское число N:
N = (2 × 3 × 5 × 7 × 11 × 13 × … × P) + 1.
Число N – простое? Наше предположение заставляет нас ответить: нет, потому что N больше P, последнего простого числа. Значит, N – составное число, и его можно разложить на множители. Здесь мы попадаем в западню.
Мы знаем, что у N есть простые делители. Может ли таким делителем быть 2? Мы утверждаем: нет. Посмотрите на формулу для вычисления N и обратите внимание, что число в скобках четное, потому что среди множителей присутствует 2:
N = (2 × 3 × 5 × 7 × 11 × 13 × … × P) + 1.
Таким образом, N на единицу больше некоторого гигантского четного числа. Другими словами, N – нечетное, следовательно, оно не делится на 2.
Ну и ладно. Мы же знаем, что у N есть простой делитель, так что нет ничего страшного в том, что 2 не подходит. Как насчет 3? Посмотрим снова на число в скобках и обнаружим, что среди множителей есть 3:
N = (2 × 3 × 5 × 7 × 11 × 13 × … × P) + 1.
Таким образом, N на единицу больше некоторого гигантского числа, делящегося на 3. Это означает, что при вычислении частного N / 3 мы получим остаток 1. Следовательно, N не делится на 3.
Видите, куда мы движемся? Возьмем очередное простое число, 5. Мы утверждаем, что N не делится на 5, потому что оно на единицу больше числа, без остатка делящегося на 5:
N = (2 × 3 × 5 × 7 × 11 × 13 × … × P) + 1.
Точно так же мы доказываем, что N не делится ни на 7, ни на 11, ни на 13 и ни на какое угодно другое простое число!
К чему мы пришли? Наше предположение о том, что количество простых чисел конечно, привело нас к двум выводам:
– N делится на некое простое число;
– N не делится ни на какое простое число.
Но это же абсурдно! Из ловушки можно выбраться, только если признать, что предположение о конечном количестве простых чисел было ложным. Таким образом, получается, что простых чисел бесконечно много.
Конструктивный подход
Представленное нами доказательство относится к разряду доказательств от противного. Мы предположили, что утверждение, обратное тому, которое мы хотим доказать, верно, затем продемонстрировали, что это приводит к безвыходной ситуации, после чего сделали умозаключение, что наше предположение ложно, а утверждение, требующее доказательства, истинно. Путеводная путаница, софистика-эквилибристика!
Есть и другой способ доказательства: создать некий механизм по производству простых чисел. Мы засыпаем в него пригоршню простых чисел и – вуаля! – оттуда высыпаются новые простые числа. Вот как работает эта машина.
Зачерпнем полдюжины простых чисел: 2, 3, 5, 7, 11 и 13. Перемножим их и приплюсуем единицу:
(2 × 3 × 5 × 7 × 11 × 13) + 1 = 30 031.
Ясно, что 30 031 не делится на 2, – это легко заметить, потому что последняя цифра нечетная. На 3 оно тоже не делится (потому что на единицу больше, чем 2 × 3 × 5 × 7 × 11 × 13, которое делится на 3). Точно так же оно не делится на 5, 7, 11 и 13. Стало быть, или это число само простое, или его можно разложить на простые множители, не входящие в наш перечень. Кости выпали так, что число 30 031 – составное. Оно раскладывается на простые множители следующим образом: 59 × 509. Этих чисел не было в нашем перечне.
Возьмем их и предыдущие полудюжины чисел и построим новое число:
(2 × 3 × 5 × 7 × 11 × 13 × 59 × 509) + 1,
что равно 901 830 931. Кости выпали так, что число оказалось простым.
Мы можем добавить его в наш перечень и наштамповать так еще много чисел – либо простых, либо разложимых на простые множители. Эта операция позволяет бесконечно получать все новые и новые простые числа.
Другое доказательство
Это не единственное доказательства того, что простых чисел бесконечно много. Вот вам еще одно.
Как и в первом доказательстве, предположим, что количество простых чисел конечно, и покажем, что это предположение ведет к противоречию. Представим, что самое большое простое число равно P, и составим перечень простых чисел:
2, 3, 5, 7, 11, 13, …, P.
Пусть N – результат перемножения всех этих чисел:
N = 2 × 3 × 5 × 7 × 11 × 13 × … × P.
Теперь давайте подумаем обо всех числах от 1 до N включительно. Каждое из них (за исключением 1) делится на одно или несколько простых чисел; иными словами, любое число (кроме 1) делится на какое-то простое число.
Сколько чисел от 1 до N делится на 2? Очевидно, что половина (четные числа). Вычеркнем их и оставим лишь нечетные:
1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, …
Количество целых чисел между 1 и N, которые мы вычеркнули, равно N / 2.
Вычеркнем из оставшихся чисел те, которые делятся на 3. Вот что получится:
1, 5, 7, 11, 13, 17, 19, 23, 25, 29, 31, 35, 37, 41, 43, 47, 49, 53, 55, 59, 61, 65, …
Мы удалили треть оставшихся чисел. Осталось две трети, а от изначального количества –
Продолжим в том же духе и вычеркнем числа, делящиеся на 5, удалив таким образом пятую часть оставшихся чисел. Получится
чисел. Вот что останется:
1, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 49, 53, 59, 61, 67, 71, 73, 77, 79, …
Дальше мы вычеркиваем числа, делящиеся на 7, оставив шесть седьмых от нашего перечня, и будем двигаться по этому пути, пока не дойдем до числа P.
В конце концов количество тех чисел, которые мы не вычеркнули, станет равно
Так как все числа от 1 до N, кроме 1, делятся на какое-то простое число, выражение (C) должно быть равно 1. Верно? Вспомним, что N = 2 × 3 × 5 × 7 × 11 × 13 × … × P, подставим это произведение в выражение (C) и перегруппируем множители:
Это дает 1 × 2 × 4 × 6 × … × (P – 1), что существенно больше 1! Выражение (C) должно быть равно 1, но очевидным образом не равно 1. Ошибка заключалась в изначальном предположении о том, что количество простых чисел конечно. Следовательно, их бесконечно много.
Две сложные задачи
Есть много захватывающих вопросов о простых числах. Здесь я расскажу про две самые печально известные проблемы.
Хотя простых чисел бесконечно много, они встречаются все реже и реже, когда мы последовательно двигаемся от единицы к бесконечности. Позже (в главе 7) мы проанализируем среднюю разность между двумя соседними большими простыми числами. Однако простые числа все равно часто встречаются рядом, отличаясь на две и более единицы (единственная пара с отличием на один – 2 и 3). Если простые числа отличаются на две единицы, их называют простыми числами-близнецами, или парными простыми числами. Наименьшая пара близнецов – числа 3 и 5. Между 1 и 10 000 есть 205 пар близнецов, последние – числа 9929 и 9931.
Вопрос: простых чисел-близнецов бесконечно много?
Надо признать, что это неизвестно до сих пор.
Вот другой вопрос. Принято считать, что впервые его поставил немецкий математик Кристиан Гольдбах (1690–1764). Ему стало любопытно: какие четные числа (кроме 2) можно представить в качестве суммы двух простых? Вот пример:
Вопрос: можем ли мы продолжать этот ряд бесконечно? Гольдбах предположил, что любое четное число (за исключением 2) представляет собой сумму двух простых.
Но на самом деле мы до сих пор не знаем этого наверняка.
Применение простых чисел в криптографии
Изучение простых чисел относится к области математики под названием теория чисел. Британский математик Годфри Харди говорил: «До сих пор никто не обнаружил, как применить теорию чисел в военных целях».
Харди не мог предвидеть появления глобальной компьютерной сети и того факта, что безопасность в сети будет зависеть от простых чисел. Каким образом?
Пусть P и Q – два больших простых числа, скажем стозначных. Перемножить их – титанический труд для человека, но компьютер может посчитать произведение N = P × Q мгновенно. В то же время мы угодим в тупик, если попытаемся выяснить, какие два простых множителя дают N при умножении. Никто не знает эффективного алгоритма разложения таких огромных чисел на простые множители.
(Как это ни странно, определить, простое число или составное, можно достаточно быстро; однако найти простые множители больших чисел совсем не просто.)
Удивительно, однако эта диспропорция – легко перемножить, сложно разложить на множители – легла в основу создания шифров. Криптографическая система с открытым ключом устроена так, что можно раскрыть метод шифровки сообщений, но это не облегчит расшифровку засекреченных текстов. Мы не станем сейчас погружаться в детали метода, но основная идея состоит в том, что в процессе шифрования используется составное число N, представляющее собой произведение двух огромных простых чисел: N = P × Q. Расшифровка требует знания конкретных простых чисел P и Q. Если мы знаем N, этого достаточно для шифровки, но не для декодирования, а найти его простые множители все еще чрезвычайно сложно.
Мы используем криптографическую систему с открытым ключом всякий раз, когда совершаем покупки в интернете. Прежде чем браузер вышлет продавцу номер нашей кредитной карты, он получает от продавца открытый ключ шифрования. Браузер шифрует номер карты с помощью метода, о котором мы рассказывали. Если перехватить ключ, это ничего не даст, потому что метод шифровки не говорит о методе расшифровки (а его знает только продавец). Когда зашифрованное сообщение приходит на компьютер продавца, индивидуальный метод расшифровки раскрывает номер карты лишь законному получателю информации.
Криптографическая система с открытым ключом имеет и военные применения, вплоть до системы приведения в боевую готовность ядерного оружия.
Решение задачи о разложении на множители
211 591 = 457 × 463.