z(1) --> [].
z(N) --> [0] , z(Nm), {N is Nm+1}.
z(N) --> [1] , z(Nm), {N is Nm+1}.
到目前为止,这就是我所拥有的。我想产生
[0,0]
[0,1]
[1,0]
[1,1]
但在[0,0]之后进入无限循环
当您查询
?- z(3, X, []).
如果您将始终以N为整数调用谓词,则可以尝试:
z(1) --> [].
z(N) --> [0] , {N>1, Nm is N-1}, z(Nm).
z(N) --> [1] , {N>1, Nm is N-1}, z(Nm).
结果:
?- z(3, X, []).
X = [0, 0] ;
X = [0, 1] ;
X = [1, 0] ;
X = [1, 1] ;
false.
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句