Я пытаюсь реализовать Fermat Attack в клене, но это дает мне ошибку, в которой говорится, что _1 _ (_ 2_. Супер новичок с Maple, поэтому, если кто-то, у кого есть некоторый опыт, мог бы помочь, это было бы очень признательно.
Кроме того, я пытаюсь разложить на множитель целое число длиной 125 цифр. Кто-нибудь знает какой-либо эффективный алгоритм в Maple или любой другой программе, которая может обрабатывать и разлагать такие большие целые числа?
FermatAtttack:=proc(n::And(posint,odd), maxnumsteps::posint:=10^7,(numsteps::truefalse:=false))
local x, k, r, i, y:
x:=isqrt(n);
if x^2 < n then
x:= x+1
end if;
k:=2*x+1;
r:=x^2-n;
for i to maxnumsteps while not issqr(r) do
r:=r+k;
k:=k+2
end do;
if issqr(r) then
x:=(k-1)/2;
y:=isqrt(r)
else
error "%1 could not facot in %2 iteratioons", n, maxnumsteps
end if;
if not numsteps then
x-y, x+y
else
x-y, x+y, i
end if;
end proc: