Example of trace produced. 我正在尝试编写一个谓词listDouble(L1, L2)
,其中L2
中的每个元素都是L1
中对应元素的两倍(即,如果L1 = [1,2,3]然后L2 = [2,4,6]),这是我到目前为止的代码:
listDouble([], [L2]).
listDouble([H|T], [L2|_]):-
L is H * 2,
listDouble(T, [L]).
然而,它不起作用,我认为我很难理解如何将每个元素的双重添加到L2
?
答案 0 :(得分:1)
listDouble([],[]).
listDouble([H|T], [D|L]):-
D is H * 2,
listDouble(T,L).