Мне нужно, чтобы сообщение показывалось каждый раз, когда a = 0 (mod p).Но он делает это только тогда, когда на самом деле равен 0. Например, если я подключаю Legendre (11,11), я получаю «-1».
Legendre := proc (a, p)
local L; if a = `mod`(0, p) then
"Coose a different integer";
else if a = -1 then
L := (-1)^((1/2)*p-1/2);
else
L := `mod`(a^((1/2)*p-1/2), p);
end if;
if L = 1 then
L else L := -1;
L end if end if;
end proc;