例如,如果N为2,它将创建跟踪列表并设置其值
L = [S1,S2],
L :: 1..10.
如果N为3,它将列出以下列表并设置其值
L = [S1,S2,S3],
L :: 1..10.
非常感谢:)
答案 0 :(得分:2)
要制作长度为N
的列表,请使用带有变量的length/2
作为第一个参数:
1 ?- N=4, length(List,N).
N = 4,
List = [_G487, _G490, _G493, _G496].
答案 1 :(得分:-1)
你在寻找类似smth的
吗?list( N, List ) :-
numlist( 1, N, List ).
制作
?- list(5, L).
L = [1, 2, 3, 4, 5].
或者什么?
UPD:
kal( N, Lists ) :- govna( N, [[]], [_ | Lists] ), !.
govna( 0, Ans, Ans ).
govna( N, List, Com ) :-
numlist( 1, 10, X ),
append( List, [X], ListNew ),
NewN is N - 1,
govna( NewN, ListNew, Com ).
这是吗?
?- kal(2, X).
X = [[1, 2, 3, 4, 5, 6, 7, 8|...], [1, 2, 3, 4, 5, 6, 7|...]].