Название | Величайшие математические задачи |
---|---|
Автор произведения | Иэн Стюарт |
Жанр | Математика |
Серия | |
Издательство | Математика |
Год выпуска | 2013 |
isbn | 978-5-9614-3705-8 |
В школе, как правило, учат ровно одному способу поиска простых делителей числа. Заключается он в том, чтобы пробовать по очереди все потенциальные делители, пока не найдется такой, на который число разделится нацело. Если вы не нашли ни одного делителя к тому моменту, как добрались до корня квадратного из первоначального числа – точнее, до наибольшего целого числа, меньшего или равного этому корню, – то число это простое. В противном случае вы найдете множитель, разделите на него и продолжите с новым числом с того же места. Эффективнее всего пробовать только простые делители, но для этого необходим список простых чисел. Поиск останавливается на корне квадратном из числа, потому что наименьший делитель любого составного числа не превосходит корень квадратный из этого числа. Однако для больших чисел эта процедура безнадежно неэффективна. К примеру, если взять число
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 цифр, то жужжать он будет долго, но результата так