vbn писал(а):
Получается, что для

программа перемножает все простые вплоть до

Следовательно, программа имеет дело с числами вплоть до

.
Руст, это действительно так?
Да перемножает, только большие числа не получаются, так как перемножает по модулю p, (в этом случае остатки останутся не больше 16777216) и только в случае деления M(x)+1 для некоторого из них производится умножение по модулю p^2. В последнем случае при перемножении числа останутся в пределах 72 бита, а остатки в пределах 48 бит. Я же написал алгоритм, где всё это ясно сказано.