Рис. 1.20. Наконец у вас останутся все простые числа из интервала от 1 до 100
Эта процедура прекрасна тем, что она совершенно механическая и не требует размышлений. К примеру, простое ли число 91? Если вы используете данный метод, то не нужно думать. 91 будет зачеркнуто, когда вы отбрасываете числа, кратные 7, ведь 91 = 7 × 13. На числе 91 зачастую происходит ошибка, потому что мы не стремимся учить таблицу умножения 7 до 13.
Эта систематическая процедура служит хорошим примером алгоритма, метода решения задачи путем выполнения заданного набора инструкций – так, по существу, устроена компьютерная программа. Именно этот алгоритм был открыт две тысячи лет назад в одном из центров математической мысли своего времени – в Александрии, которая располагается на территории современного Египта. Тогда Александрия была форпостом великой Греческой империи и славилась одной из лучших библиотек мира. В III в. до н. э. библиотекарь Эратосфен и придумал эту раннюю компьютерную программу для нахождения простых чисел.
Она называется решетом Эратосфена, потому что всякий раз, когда вы просеиваете группу составных чисел, вы как бы используете решето, у которого расстояние между прутьями равно достигнутому вами простому числу. Сначала расстояние между прутьями равно 2, затем 3, потом 5 и т. д. Единственный недостаток этого метода: он быстро становится неэффективным, если вы ищете все бо́льшие и бо́льшие простые числа.
Эратосфен не только отсеивал простые числа и приглядывал за сотнями тысяч папирусных и пергаментных свитков в библиотеке, но и вычислил радиус Земли, а также расстояние от Земли до Солнца и Луны. По его расчету, Солнце находилось в 804 000 000 стадиев от Земли – хотя непонятно, каким именно стадием он пользовался, что делает трудной оценку точности его вычислений. Какой стадион подразумевали бы мы: «Уэмбли» или что-то поменьше, вроде «Лофтус Роуд»?
Кроме расчетов Солнечной системы, Эратосфен нанес Нил на карту и дал первое правильное объяснение его разливов: они были обусловлены сильными дождями в его удаленных верховьях в Эфиопии. Он даже создавал поэтические произведения. Но, несмотря на всю его активность, друзья дали ему прозвище Бета, потому что он ни в чем не преуспел по-настоящему. Говорили, что он уморил себя голодом после того, как ослеп в старческом возрасте.
Вы можете использовать какую-либо настольную игру с числовыми полями для приведения решета Эратосфена в действие. Возьмите спагетти и кладите их кусочки на исключаемые поля. Оставшиеся числа и будут простыми.
Много ли понадобится времени, чтобы написать список всех простых чисел?
Любому, кто захочет написать список всех простых чисел, придется писать его вечно, потому что их количество бесконечно. Почему же мы уверены, что никогда не дойдем до последнего простого числа, что за ним в списке будет следующее? Одно из величайших достижений человеческого разума состоит как раз в том, что с помощью небольшой последовательности логических шагов мы можем осознать бесконечность.
Первым, кто доказал нескончаемость простых чисел, был греческий математик Евклид, живший в Александрии. Он был учеником Платона, и время его деятельности также пришлось на III в. до н. э., хотя, по-видимому, он был на 50 лет старше библиотекаря Эратосфена.
Для того чтобы доказать бесконечность количества простых чисел, Евклид задался вопросом: может ли, напротив, множество простых чисел быть конечным? Конечный список простых чисел означал бы, что любое другое число может быть получено перемножением элементов этого конечного списка. Предположим, к примеру, что список простых чисел включает лишь три числа: 2, 3 и 5. Может ли любое число быть получено путем перемножения различных комбинаций 2, 3 и 5? Евклид придумал способ построения числа, которое не может быть получено таким путем. Он начал с перемножения списка простых чисел, что приводит к 30. Затем – и в этом была гениальная догадка – он добавил 1 к этому числу и получил 31. Ни одно из списка простых чисел, ни 2, ни 3, ни 5, не является его делителем. Всегда получается остаток 1.
Евклид знал, что все числа могут быть построены перемножением простых чисел – так что же можно сказать о 31? Так как оно не делится на 2, 3 или 5, должны быть другие простые числа, вне имеющегося списка, которые участвуют в построении 31. В действительности число 31 само является простым, так что Евклид создал «новое» простое число. Вы скажете, что в имеющийся список простых чисел нужно лишь добавить это «новое» число. Но, сколь бы ни был велик список, Евклид мог бы снова повторить свой прием – перемножить числа из списка и добавить 1. Каждый раз он получал бы число, которое при делении на любое число из списка давало бы остаток 1, значит, это новое число должно делиться на простые числа вне имеющегося списка. Таким образом Евклид доказал, что любой конечный список не может включать все простые числа. Следовательно, количество простых чисел должно быть бесконечным.