|
wcl.AleX |
|
|
|
У меня возникла такая проблема в программе Mathematica. В этой программе есть функция PrimeQ[], которая, собственно и проверяет числа на простоту. Но я хочу написать собственную программу,такого же типа. Первым этапом я нашёл в википедии псевдокод программы. Довольно просто можно получить значения S и T. Вот начало программы
Код: m = 2^200 + 3; s = 1; While[True, If[Mod[m - 1, 2^s] > 0, Break[]]; s++]; t = (m - 1)/(2^(s - 1));
Но вот дальше возникают проблемы. Программа не хочет возводить случайное число A в степень T. Пишет, что число имеет слишком много десятичных знаков, даже если использовать не случайное число, а очень маленькое AE[2,23] Но ведь как-то решена эта проблема при создании функции PrimeQ[] Если у кого-то есть идеи в написании программы, с удовольствие прочитаю
|
|
|
|
 |
|
arseniiv |
|
|
|
В алгоритме случайно не возведение в степень по модулю требуется (вижу Mod)? Тогда используйте PowerMod.
|
|
|
|
 |