我有一个如下的条款:
lock_open:-
conditional_combination(X),
equal(X,[8,6,5,3,6,9]),!,
print(X).
这个条款成功了.但是我想知道在之前调用conditional_combination()的次数是多少次equal(X,[8,6,5,3,6,9]).该程序是通过遵循一些规则来生成排列.我需要生成多少个排列来获得像865369这样的特定值.
我正在尝试将列表拆分为特定元素(特别是“停止”一词)之前的项目以及该元素之后的项目。我知道你可以使用 split 来做到这一点,但我是 prolog 的新手,所以我正试图在不使用这些函数的情况下操作东西,所以我真的很想知道这是否可能?(也许还有一些指向正确方向的指针)
即与列表;
L = [tea,coffee,sugar,cake,stop,meat,fish,eggs,flour]
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想在“停止”处拆分列表,让我留下,
L2 = [tea, coffee, sugar, cake] // and
L3 = [meat, fish, eggs, flour]
Run Code Online (Sandbox Code Playgroud)