Prolog 长度为 N 的二进制数
Prolog Binary Numbers of length N
我如何创建谓词以获取长度为 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]
错误
binary_list(0,[]).
binary_list(N,[X|Xs]) :-
N > 0,
member(X,[0,1]),
N1 is N-1,
binary_list(N1,Xs).
我如何创建谓词以获取长度为 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]
错误
binary_list(0,[]).
binary_list(N,[X|Xs]) :-
N > 0,
member(X,[0,1]),
N1 is N-1,
binary_list(N1,Xs).