Так как 3 ^ 43-5 является составным, то и 2 ^ (3 ^ 43-5) -1. Смотрите страницу Википедии о простых числах Мерсенна. И вы можете быстро получить этот результат в Maple. Так что, если это все, что вы хотели, то все готово.
> isprime( 3^43-5 );
false
Теперь предположим, что у вас было простое число p, сравнимое с размером 3 ^ 43. Допустим, следующий простой штрих выше этого.
nextprime( 3^43-5 );
328256967394537077679
numtheory[mersenne]( nextprime( 3^43-5 ) );
FAIL
Хорошо, это слишком прискорбно.
Попробуйте применить isprime
к 2 ^ (10 ^ 6 + 3) -1. (Из-за нормальных правил оценки кленовых процедур isprime
получает расширенный аргумент, поэтому у него нет шансов увидеть специальную форму и выполнить более дешевый тест только с 10 ^ 6 + 3. Вот для чего numtheory[mersenne]
.) Вы подожду некоторое время. А теперь представьте, сколько времени потребуется isprime
для обработки числа, примерно в 10 ^ 11 раз большего, что примерно равно количеству, которое вы получили бы, если бы использовали 2^nextprime(3^43-5)-1
.