List 长度为N的Prolog二进制数
我如何创建一个谓词来登记长度为N的二进制数的所有可能组合 示例->如果长度N=3,则输出为 L=[0,0,0] L=[0,0,1] L=[0,1,0] L=[0,1,1] L=[1,0,0] L=[1,0,1] L=[1,1,0] L=[1,1,1]List 长度为N的Prolog二进制数,list,binary,prolog,List,Binary,Prolog,我如何创建一个谓词来登记长度为N的二进制数的所有可能组合 示例->如果长度N=3,则输出为 L=[0,0,0] L=[0,0,1] L=[0,1,0] L=[0,1,1] L=[1,0,0] L=[1,0,1] L=[1,1,0] L=[1,1,1] false长度(L,N),L英寸0..1,标签([],L)使用库(clpz)或库(clpfd)如果我想在没有任何库的情况下做这件事,还有一个好名字(呵呵)。 binary_list(0,[]). binary_list(N,[X|Xs]) :-
false
长度(L,N),L英寸0..1,标签([],L)
使用库(clpz)
或库(clpfd)
如果我想在没有任何库的情况下做这件事,还有一个好名字(呵呵)。
binary_list(0,[]).
binary_list(N,[X|Xs]) :-
N > 0,
member(X,[0,1]),
N1 is N-1,
binary_list(N1,Xs).