我一直得到这个错误。下面是代码(用于GCD):
Euc := proc (a, b)
if b = 0 then a;
else c := b;
d := a mod b;
b := d; a := c;
end if;
end proc;
我从不使用Maple,因为它让我头疼,文档是一场噩梦,但这个作业必须在Maple中完成…如果我在简单的GCD上遇到困难,我不会在周三之前写RSA和El Gamal:s
edit:使用
修复Euc := proc (a, b)
if b = 0 then a;
else c := b;
d := a mod b;
Euc(c,d);
end if;
end proc;
但无论如何,我还是想知道问题是什么,以防我不得不再次做类似的事情。
您的第一个版本试图赋值给程序的形式参数。这就是问题所在
假设您调用原始的Euc
,并为参数a
传递12,为参数b
传递8。在Euc
的主体中,当它在这个实例中运行时,a
的计算结果是12,而a
的计算结果不是一个您可以对其进行赋值的名称。当你尝试在Euc
中对a
或b
进行赋值时,你会看到这个错误。