Величайшие математические задачи. Иэн СтюартЧитать онлайн книгу.
обратиться к этому вопросу потому, что не можем оставить в стороне простые числа – очень существенную деталь математического ландшафта. Особенно часто они встречаются (и особенно полезны) в теории чисел – разделе математики, изучающем свойства целых чисел. Звучит, может быть, достаточно элементарно, но на самом деле теория чисел – один из самых глубоких и сложных разделов математики. Позже мы увидим тому множество свидетельств. В 1801 г. Гаусс, ведущий специалист того времени по теории чисел (а также, по мнению некоторых ученых, один из ведущих математиков всех времен, а может быть, и величайший из них), написал продвинутый учебник по этой теории – «Арифметические исследования» (Disquisitiones Arithmeticae). В нем среди множества сложных тем Гаусс указал, что не следует терять из виду два весьма фундаментальных вопроса: «Известно, что задача отличения простых чисел от составных и разложения последних на простые множители является одной из важнейших и полезнейших в арифметике».
В школе, как правило, учат ровно одному способу поиска простых делителей числа. Заключается он в том, чтобы пробовать по очереди все потенциальные делители, пока не найдется такой, на который число разделится нацело. Если вы не нашли ни одного делителя к тому моменту, как добрались до корня квадратного из первоначального числа – точнее, до наибольшего целого числа, меньшего или равного этому корню, – то число это простое. В противном случае вы найдете множитель, разделите на него и продолжите с новым числом с того же места. Эффективнее всего пробовать только простые делители, но для этого необходим список простых чисел. Поиск останавливается на корне квадратном из числа, потому что наименьший делитель любого составного числа не превосходит корень квадратный из этого числа. Однако для больших чисел эта процедура безнадежно неэффективна. К примеру, если взять число
1 080 813 321 843 836 712 253,
то на простые множители оно раскладывается следующим образом:
13 929 010 429 × 77 594 408 257,
и, чтобы добраться до меньшего из двух множителей, вам придется опробовать каждое из первых 624 401 249 простых чисел. Конечно, при помощи компьютера это несложно сделать, но если взять для начала число из 100 цифр, которое – так уж случилось – раскладывается на два множителя по 50 цифр в каждом, то систематический перебор последовательных простых чисел продлится до конца Вселенной и вряд ли успеет дать результат.
Нет, вообще-то современные компьютеры, как правило, умеют раскладывать числа из 100 цифр на простые множители. Моему компу требуется меньше секунды, чтобы найти простые множители числа 1099 + 1 (выглядит это число как 1000 … 001 с 98 нулями). Это число – результат перемножения 13 простых чисел (одно из них повторяется дважды), наименьшее из которых – 7, а наибольшее – 141 122 524 877 886 182 282 233 539 317 796 144 938 305 111 168 717.
Однако если я попрошу компьютер разложить на множители число 10199 + 1, в котором 200 цифр, то жужжать он будет долго, но результата так