У меня есть следующий код и раздражающая ошибка, "[" Неожиданная ошибка Maple продолжает расти. Кто-нибудь видит, что я делаю неправильно, потому что я смотрю на экран часами и все еще не вижу его.Ошибка, "[" неожиданный В Maple
Relations:=proc(n::posint,fb::Array,{mindeps::posint:=5,verbose::truefalse:=false})
local s,np,f,j,g,f1,f2,i;
s:=isqrt(n);
np:=ArrayNumElems(fb);
f:=[];
j:=1;
g:=np+mindeps;
while nops(f) < g do
f1:=FBTrialDivision(n,s-j+1,fb);
f2:=FBTrialDivision(n,s+j,fb);
f:=[op(f),f1,f2];
j:=j+1
end do;
if verbose then
printf("smooth",g,2*j-2)
else
print("");
print(2*j-2)
end if
[Vector([seq(f[i][1], i = 1..nops(f))]),Vector([seq(f[i][2], i = 1..nops(f))]),
LinearAlgebra:-Transpose(Matrix([seq(f[i][3], i = 1..nops(f))]))]
end proc:
Второй один:
FindFactors:=proc(n,rels,deps)
local fact, i, x, y;
fact:=1;
for i to nops(deps) while fact = 1 or fact = n do
x:=mul(j,j=rels[1]~deps[i]);
y:=isqrt(mul(j,j=rels[2]~deps[i]));
fact:=igcd(x+y,n)
end do;
if fact <> 1 and fact <> n then
``(fact)*``(iquo(n,fact))
else
print("no trivial")
end if;
end proc:
Отлично! Можете ли вы взглянуть на второй, который я только что добавил, потому что это дает мне такую же проблему. Каждый раз, когда я удаляю код x: = mul (j, j = rels [1] ~ deps [i]); y: = isqrt (mul (j, j = rels [2] ~ deps [i])); он не показывает ошибку, но мне она нужна. Что я делаю не так? – user3092043
'j = rels [1] ~ deps [i]' является проблемой. Это недействительный синтаксис для чего-либо. Что вы намеревались этим сделать? Правая часть этого (независимо от права '=' sign') должна быть либо диапазоном (например, 'a..b', где' a' и 'b' оценивать целые числа), либо список или задавать. – acer