Магия пробного деления: почему проверяются только числа ниже квадратного корня?

В области математики факторизация целых чисел — относительно простая, но трудоемкая тема. Пробное деление — один из основных методов, используемых для разложения целых чисел на простые числа. Этот алгоритм достигает цели решения чисел, проверяя, делится ли целое число на число, меньшее или равное его квадратному корню. Хотя такие шаги могут показаться утомительными, они являются одним из лучших способов понять математические концепции.

Основная идея пробного деления состоит в том, чтобы систематически проверять, делится ли целое число n, то есть целое число, которое можно разложить на множители, на каждое число меньше n.

На примере n = 70 мы можем попытаться разложить его по одному: сначала 70, разделенное на 2, дает 35, затем 35, разделенное на 2 и 3, не делится, наконец, 35, разделенное на 5, дает 7; , и 7 само по себе тоже простое число. Следовательно, коэффициент 70 можно выразить как 2×5×7.

Пробное деление имеет долгую историю и впервые было описано итальянским математиком Фибоначчи в его книге Liber Abaci (1202). С тех пор пробное деление стало важным инструментом для понимания математики и факторинга.

Как работает пробное разделение

Пробное деление работает на основе следующих шагов: Во-первых, нам нужно начать проверку только с 2, поскольку множители любого целого числа n с большей вероятностью будут 2, чем 3, и так далее. Это суждение может эффективно сократить объем вычислений. В тех случаях, когда доказано, что число не является множителем, например, когда обнаружено, что число не кратно 2, нет необходимости проверять кратность.

Таким образом, тестовый диапазон для пробного деления должен быть ограничен только ниже квадратного корня из n. Если предположить, что n можно разделить на определенное число p, то должно существовать другое число q такое, что n = p × q. Если q меньше p, оно будет обнаружено раньше.

Это означает, что проверяются только факторы-кандидаты простого числа, пока они не станут меньше квадратного корня из n. Например, для n = 49 нам нужно проверить только до 7 (т. е. √49). Если √n — целое число, то это целое число кратно n, и n — полный квадрат.

Эффективность и ограничения пробного разделения

В худшем случае алгоритм пробного деления будет менее эффективен. Для n-значного числа a, выраженного в двоичном формате, начиная с двойки и проверяя до квадратного корня из a, количество пробных делений, необходимое для такого алгоритма, составляет примерно 2^(n/2) / (n/2) ln 2 Конечно, это лишь теоретический расчет, и на реальную эффективность может влиять ряд факторов.

Можно показать, что примерно 88% положительных целых чисел будут иметь коэффициент ниже 100, а 92% будут иметь коэффициент ниже 1000.

Хотя пробное деление в большинстве случаев по-прежнему является удовлетворительным методом, если вы встретите длинные числа, которые не содержат маленьких простых чисел, факторизация может занять дни или месяцы. В этом случае будут использоваться другие методы, такие как метод квадратичного решета и метод решета общего числового поля (GNFS). Эти методы также сталкиваются с проблемой суперполиномиального роста времени. Поэтому на практике мы ограничены количеством цифр. которые могут быть обработаны. Существуют практические ограничения на это число.

В частности, в мире криптографии с открытым ключом значения больших простых делителей одинакового размера выбираются для того, чтобы гарантировать, что их нельзя будет факторизовать каким-либо общеизвестным методом, что, конечно, подчеркивает ограничения пробного деления.

Самым большим криптографическим числом с открытым ключом является RSA-250, 250-битное число, на разложение которого потребовалось 2700 лет с использованием ресурсов GNFS и нескольких суперкомпьютеров.

С постоянным развитием цифровых технологий пробное деление по-прежнему остается простым и эффективным методом факторизации целых чисел, который содержит множество математических принципов, о которых стоит задуматься. Какие методы, по вашему мнению, могут еще больше повысить эффективность и точность нашей факторизации, учитывая будущие математические задачи?

Trending Knowledge

Секреты чисел: почему пробное деление является старейшим методом факторизации целых чисел?
В эзотерической области математики факторизация является важной и фундаментальной задачей. Будь то криптография, шифрование данных или изучение теории чисел, факторизация играет жизненно важную роль.
Проблема с ограничением: может ли разделение раскрыть тайну 250-битного пароля RSA?
В контексте цифровой безопасности сегодня применение технологии шифрования становится все более распространенным.Пароли RSA, как краеугольный камень безопасности сети, обеспечивают безопасность данны
Скрытые математические сокровища: как использовать пробное деление, чтобы раскрыть простые множители 70?
Факторизация простых чисел – это базовый навык в математике, особенно в теории чисел и криптографии. Являясь одним из самых простых для понимания алгоритмов факторизации целых чисел, пробное деление н

Responses