我想在Prolog中实现以下函数f(x,y)
f(x,y) = a*x+b*y
where a = 1 if x > 0; a = -1 if x < 0; a = 0 if x = 0
and b = -1 if y > 0; b = 1 if y < 0; b = 0 if y = 0例如,
f(2,-1) = 1*2 + 1*(-1) = 1
f(-2,-1) = (-1)*(-2) + (-1)*1 = 1
f(0,0) = 0*0 + 0*0 = 0有人能帮忙吗?
发布于 2015-07-06 18:28:07
使用下面的配方如何?
f(X,Y,Result) :-
Result is abs(X) - abs(Y).让我们运行一些查询:
?- f(0,0,0).
true.
?- f(-2,-1,1).
true.
?- f(2,-1,1).
true.https://stackoverflow.com/questions/31244133
复制相似问题