a = 0(mod p)のたびにメッセージを表示するために必要です。ただし、aが実際に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;