Вы конкретно укажите числа, в какую степень хотите 2 возвести и на сколько по модулю поделить. Я может и попробую выяснить, сколько времени это займёт.
Например: деление случайного числа из 64 десятичных цифр на первые 100 000 простых чисел, выполняется много быстрее секунды.
Вот например, число N (8килобит в 16-ричном представлении):
88111DEA9581F51D70CFC9D55278789E596C3E5150F1050F7EE2841277137E6038EAF3DDE52C56FB5F505D9B66B23A6533BC78D2D3814F51F55DE8DC199BBD7B87A15EC6B1A5A6C4D88D8BFC18F6D98D4EA5DFD494DB73E68E0EFEBDE9EF801BAB36E77DD7E357C6087220F7E723138106468C84126A3F31D5B302B1FED2CCD37E90504497D3CBA0213E0B3F55F5EA9A095AF33BDB9AD34BDB6C4E672F38DF86F8D5AAB0DD1A48AAA3C83DE6F67E8C2A88DD175ABE9C8BCBE4567781811232D264013B446FDFDAEF892E5A1D6BFA5D62F5E83D6B67F93EFAC73C99E6BD147E46625DC5635B526A617A3C78B73FE42789CD2B0769A2BF87438973A7227D1B7D34DBF67DB4B16A04C80206C38A980DBF633D18774E62AAAA1ED99EBE0E2FC78CA2B7C528D49F4A12A1DFD975BFEF3CA043AB7201A6EA11B2CE097FD0976111F553A6A603923C1739B0094B7960B4301AD081EFA8D365F7F77318BEEC9E8CB8BFC8884FA2F3A69999A07E3EDA1BAB4814E0D755E3E223B0572739EC72A0ABB65892F75354411B38CF24FA2E46E257F8918DBF6ACE7096BCB866213F6B8B493DF9E17D801FD974B6426ACD30D9E756F3EE1F5CFFA52EDC9B83A4095F683646B16DADC6594967CCE0D752CB05C34CA898B70D3B771BCB2FD3EC45E61C5A37D6DCBCF9B0AA43D18AF687FDC4915E2E0E1C71E1EBE5B093D1E7D78B36360D7A2027924088111DEA9581F51D70CFC9D55278789E596C3E5150F1050F7EE2841277137E6038EAF3DDE52C56FB5F505D9B66B23A6533BC78D2D3814F51F55DE8DC199BBD7B87A15EC6B1A5A6C4D88D8BFC18F6D98D4EA5DFD494DB73E68E0EFEBDE9EF801BAB36E77DD7E357C6087220F7E723138106468C84126A3F31D5B302B1FED2CCD37E90504497D3CBA0213E0B3F55F5EA9A095AF33BDB9AD34BDB6C4E672F38DF86F8D5AAB0DD1A48AAA3C83DE6F67E8C2A88DD175ABE9C8BCBE4567781811232D264013B446FDFDAEF892E5A1D6BFA5D62F5E83D6B67F93EFAC73C99E6BD147E46625DC5635B526A617A3C78B73FE42789CD2B0769A2BF87438973A7227D1B7D34DBF67DB4B16A04C80206C38A980DBF633D18774E62AAAA1ED99EBE0E2FC78CA2B7C528D49F4A12A1DFD975BFEF3CA043AB7201A6EA11B2CE097FD0976111F553A6A603923C1739B0094B7960B4301AD081EFA8D365F7F77318BEEC9E8CB8BFC8884FA2F3A69999A07E3EDA1BAB4814E0D755E3E223B0572739EC72A0ABB65892F75354411B38CF24FA2E46E257F8918DBF6ACE7096BCB866213F6B8B493DF9E17D801FD974B6426ACD30D9E756F3EE1F5CFFA52EDC9B83A4095F683646B16DADC6594967CCE0D752CB05C34CA898B70D3B771BCB2FD3EC45E61C5A37D6DCBCF9B0AA43D18AF687FDC4915E2E0E1C71E1EBE5B093D1E7D78B36503F
формулу смотрите в самом первом сообщении треда.
двойку нужно возвести в N-1 по модулю N.
У меня порядка секунды занимает вычисление.
Но для поиска простого числа таких чисел надо перебрать много,
поэтому быстродействие имеет значение. Или час ждать результата,
или 15 минут например.
-- 01.01.2014, 16:09 --Например: деление случайного числа из 64 десятичных цифр на первые 100 000 простых чисел, выполняется много быстрее секунды.
Это решето. Конечно, оно тоже применяется перед основной
проверкой. Для решета есть ещё более хитрые методы, я тут не буду
их писать. Но всё упирается именно в быстродействие теста Ферма.
Если 2 в степени N-1 по модулю N не равно 1, то число точно не
простое и его можно отбросить.