按照四步抽象设计过程定义递归规则来计算数学函数。您必须指明(使用代码注释)使用哪个步骤。注意,Prolog 规则不返回值。您需要使用参数来保存返回值。您不能使用指数运算符**
来计算表达式。
编写一个递归规则factbar(F, X, Y, N)
来计算F = ((2*X + Y)^N)!
(expbar 的阶乘)。该规则必须调用(使用)您设计的规则 expbar..
现在为了执行此操作F = ((2*X + Y)^N)
,我已经编写了代码,但我不知道如何在 Prolog 中编写阶乘:
expbar(R, X, Y, N) :-
X > 0, Y > 0, N > 0,
R is (2 * X + Y) ** N.
虽然我在我的程序中使用 ** 作为指数,但我不知道如何使用其他方式。