15. Проще простого, или Поиск узоров из простых чисел
15.
Проще простого,
или Поиск узоров из простых чисел
Всякий, кто изучает простые числа, бывает очарован ими и одновременно ощущает собственное бессилие. Определение простых чисел так просто и очевидно; найти очередное простое число так легко; разложение на простые сомножители — такое естественное действие. Почему же тогда простые числа столь упорно сопротивляются нашим попыткам постичь порядок и закономерности их расположения? Может быть, в них вообще нет порядка, или же мы так слепы, что не видим его?
Какой-то порядок в простых числах, несомненно, есть. Простые числа можно отсеять от составных решетом Эратосфена. Начнем с того, что 2 — простое число. Теперь выбросим все большие четные числа (делящиеся на 2). Первое из уцелевших за двойкой чисел, 3, также должно быть простым. Удалим все его кратные; останется 5. После удаления кратных пяти останется 7. Будем продолжать в том же духе; все числа, прошедшие через решето, будут простыми. Эта регулярная, хотя и медленная процедура находит все простые числа. Мы знаем, кроме того, что при n, стремящемся к бесконечности, отношение количества простых чисел к составным среди первых целых чисел приближается к ln n/n[21]. К сожалению, этот предел чисто статистический и не помогает при нахождении простых чисел.
Оказывается, что все известные методы построения таблицы простых чисел — не что иное, как вариации унылого метода решета. Эйлер придумал формулу x2 + x + 41; для всех x от нуля до 39 эта формула дает простые числа. Однако никакая полиномиальная формула не может давать подряд бесконечный ряд простых чисел, и функция Эйлера терпит фиаско при х = 40. Другие известные функции дают длинные ряды простых чисел, но ни одна не дает сплошь простые. Исследователи проанализировали множество целочисленных функций, однако до сих пор не удалось увидеть закономерность.
Рисунок 15.1. Числа расположены по спирали против часовой стрелки.
Закономерности проявляются, когда целые числа отображаются на плоскость (или в пространство). Одно из возможных отображений показано на рис. 15.1, где числа располагаются вокруг начальной точки по спирали против часовой стрелки. На рис. 15.2 целые числа заполняют треугольник положительного квадранта. Если достаточно далеко расширить рамки этих рисунков, то станет видно, что простые числа располагаются преимущественно вдоль отдельных прямых (в основном по диагоналям) и совершенно игнорируют другие прямые. Частично этот эффект легко объясним* В обоих расположениях целые числа, попадающие на любую диагональ, даются некоторым квадратичным многочленом. Если многочлен, соответствующий какой-либо прямой, разлагается на рациональные линейные множители, то эта прямая будет содержать одни составные числа. Таким образом, простым числам волей-неволей пришлось облюбовать неприводимые прямые. Однако некоторые неприводимые многочлены изобилуют простыми числами, и изобилие это не оскудевает, несмотря на то что плотность простых чисел среди всех целых медленно стремится к нулю. Иными словами, хотя разложение многочленов объясняет в некоторой степени скученность простых чисел, все же существуют многочлены, более богатые простыми числами, чем предсказывает обычный статистический анализ.
Рисунок 15.2. Числа в треугольнике.
Тема. Напишите программу, которая отображает целые числа на плоскость некоторым регулярным образом и отмечает на рисунке места, где находятся простые числа. Выведите формулы, описывающие прямые линии на вашем рисунке, и напечатайте те из них, которые особенно изобилуют простыми числами; печатайте также долю простых чисел на этих прямых. Обеспечьте высокую эффективность ваших программ проверки целых чисел на простоту, так чтобы вам хватило времени для анализа весьма отдаленных отрезков натурального ряда.
Инструментовка. Для решения этой задачи больше всего подходит алгебраический язык, У вас должна быть возможность управлять эффективностью проверки на простоту.
Длительность исполнения. Одному исполнителю на 2 недели.
Литература
Гарднер (Gardner M). Mathematical Games. Scientific American, pp. 120-126, March 1964. [Имеется перевод: Гарднер М. Математические досуги. — М.: Мир, 1972, с. 410.]
Гаусс (Gauss С. F.). Disquisitiones Arithmeticae. Yale University Press, New Haven, CT, 1965.
По теории чисел написаны сотни книг. Но, как это ни странно, одна из первых книг по-прежнему остается одной из лучших. Помимо прочих достоинств она вышла в дешевом издании. Так почему бы не посоветоваться с классиком?
Штейн, Улам, Уэллс (Stein M. L, Ulam S. M., Wells M. В.). A Visual Display of Some Properties of the Distribution of Primes, American Mathematical Monthly, pp. 516–520, May 1964.
Гарднер излагает результаты Штейна, Улама и Уэллса более популярно, тем не менее обе работы легки для чтения. На эту тему почти ничего больше не написано, так что это, вероятно, увлечение Улама. Идея получать с помощью простых чисел красивые картинки позволяет убить лишнее машинное время, и, не исключено, что в этом все же что-то есть.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Будем проще
Будем проще Доктайп – не единственная вещь, оказавшаяся упрощенной в HTML5.Если вы хотите особо указать кодировку вашего документа разметки, лучший способ сделать это – проверить, что ваш сервер посылает правильный HTTP-заголовок Content-Type. Если вы хотите быть вдвойне
7.6. Проще, удобнее, быстрее
7.6. Проще, удобнее, быстрее Процесс конфигурирования должен быть максимально удобным. Если все настройки будут нагромождены в одном файле /etc/httpd/conf/httpd.conf, то разобраться в них станет очень сложно. А чем больше параметров, тем выше вероятность, что вы что-либо прозеваете.
§ 57. Делайте сайты проще
§ 57. Делайте сайты проще Простота — необходимое условие прекрасного. Л. Н. Толстой. Из письма к Л. Андрееву от 02.09.1902 2 августа 2000Почти сто лет прошло с момента написания эпиграфа к этому параграфу, а ценность высказывания не уменьшилась.Желание усложнить всегда
Конструктор узоров
Конструктор узоров Фильтр Конструктор узоров позволяет создать узор из любого фрагмента изображения. При выборе команды меню Фильтр ? Конструктор узоров появляется окно фильтра (рис. 11.51). Рис. 11.51. Окно фильтра Конструктор узоровФильтр содержит множество настроек, с
Создание простого запроса
Создание простого запроса К данным таблиц можно обратиться, затем извлечь их, выполнить какие-либо вычисления – все это осуществляется с помощью запроса на выборку. Та ким способом также можно получить любую информацию о данных, выполнить фильтрацию данных, внести
1.15. Сборка простого приложения «Hello, World» с помощью GNU make
1.15. Сборка простого приложения «Hello, World» с помощью GNU make ПроблемаВы хотите с помощью GNU make собрать простую программу «Hello, World», подобную приведенной в примере 1.4.РешениеПрежде чем вы напишете свой первый make-файл, вы должны познакомиться с терминологией, make-файл состоит из
14.1. Синтаксический анализ простого документа XML
14.1. Синтаксический анализ простого документа XML ПроблемаИмеется некоторая совокупность данных, хранимых в документе XML. Требуется выполнить синтаксический анализ документа и превратить эти данные в объекты C++. Документ XML имеет достаточно небольшой размер и может
Создание простого Web-узла ASP.NET 2.0
Создание простого Web-узла ASP.NET 2.0 Ограниченный объем книги не позволяет здесь описать особенности всех Web-элементов управления, входящих в доставку ASP.NET 2.0 (для этого требуется отдельная и довольно объемная книга). Но чтобы проиллюстрировать работу с paзличными
Создание узоров
Создание узоров Узор – это расположение плиток при кладке без учета их цвета, то есть при составлении узора учитывается только взаимное размещение плиток. При заполнении участка плиткой программа будет помещать на чертеж этот фрагмент, а рядом – такие же. Куда именно
Пример A-18. Генерация простых чисел, с использованием оператора деления по модулю (остаток от деления)
Пример A-18. Генерация простых чисел, с использованием оператора деления по модулю (остаток от деления) #!/bin/bash# primes.sh: Генерация простых чисел, без использования массивов.# Автор: Stephane Chazelas.# Этот сценарий не использует класический алгоритм "Решето Эратосфена",#+ вместо него
Нет ничего проще Герман Царев
Нет ничего проще Герман Царев Опубликовано 24 июня 2010 года Орфография и пунктуация автора сохранены. — прим. ред. Наверное, каждый человек, занимающийся разработкой программного обеспечения, когда-либо сталкивался с задачей обработки больших
10.1. Инструменты простого и сложного выделения
10.1. Инструменты простого и сложного выделения Выделение – это отделение чего-нибудь от чего-нибудь. Что касается графики, и в частности компьютерной, – это отделение совокупности точек от окружающих их точек. Для обработки цифровых фотографий знание приемов выделения