小编Col*_*Alo的帖子

swi-prolog abs运算符不在clpfd模块中工作

我正在使用swi-prolog中的CLPFD库进行一些玩具测试.

有谁知道为什么下面的程序不起作用?

start(X,Y):- 
   Vars = [X,Y],
   Vars ins 1..3,
   abs(X-Y) #>= 2,
   X #>= Y,
   nl,
   write([X,Y]), nl.
Run Code Online (Sandbox Code Playgroud)

开始(X,Y)的预期答案是X = 3和Y = 1.但是,swi-prolog指出了我的答案.如果我更换,该程序正常工作

abs(X-Y) #>= 2
Run Code Online (Sandbox Code Playgroud)

通过

X-Y #>= 2
Run Code Online (Sandbox Code Playgroud)

我的问题是我是否以正确的方式使用abs运算符.

prolog swi-prolog clpfd

3
推荐指数
1
解决办法
300
查看次数

标签 统计

clpfd ×1

prolog ×1

swi-prolog ×1