我必须生成由 2 个“1”组成的列表,其他元素为“0”。我尝试了以下代码,但它不起作用:
count([], _, 0).
count([X|T], X, Y) :- count(T, X, Z), Y is 1+Z.
count([X1|T],X,Z):- X1\=X,count(T,X,Z).
two(X) :- count(X, 1, Counter), Counter =:= 2.
Run Code Online (Sandbox Code Playgroud)
查询length(Vs, 4), Vs ins 0..1, two(Vs).没有给出任何结果。
如何正确生成此类列表?我期望得到类似 [1, 1, 0, 0], [1, 0, 1, 0] ... [0, 0, 1, 1] 的结果。
SQL 标准中是否存在 INTERSECT 运算符?如果存在,它是可选运算符吗?
请留下一个可靠的来源。