Иллюстрированный самоучитель по Mathematica 5

Функция FactorIntegerECM (попытка факторизации больших чисел Мерсенна)

Теперь давайте разложим n (оно составное, так как является произведением двух последовательных достаточно больших простых чисел).

FactorIntegerECM[n]

И вот один из сомножителей:

29996224275851

Вот еще один пример применения функции FactorIntegerECM.

n = (2 ^ 58 - 27) * (2 ^ 127 - 1) 4903985730770843887365 5151436140637119954221204852703259

Теперь ищем какой-нибудь делитель этого числа.

288230376151711717

Наконец, освоившись с функцией FactorIntegerECM на этих более или менее простых примерах, можем попытаться применить ее к факторизации числа Мерсенна Мт. Как мы помним, оно имеет делитель 9511. Сначала убедимся, что он простой.

PrimeQ[9511] True

Теперь можем разделить на него число Мерсенна М317.

n = (2 ^ 317 - 1) / 9511
28072587476617996036103218722657345
63403827834029876945046579760043922
4658035965592773657961

После этого нужно убедиться, что это число составное.

PrimeQ[n] False

Значит, можно применить функцию FactorIntegerECM.

m = FactorIntegerECM[n]

Через 205.375 с (процессор Pentium 2.4 ГГц) получаем один из его делителей:

587492521482839879

Он простой.

PrimeQ[m] True

Поэтому можем заниматься только частным n = n/m.

n = n / m
477837358776284792683873587315
9342707436119775645430680034874628800586
6959

Опять нужно проверить, простое ли оно.

PrimeQ[n]

Эта проверка занимает всего лишь 0.016 с, и оказывается, что оно составное.

False
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.