我想编写一个谓词,它将从我的列表中获取每个元素,并与其他元素混合而不会重复。
例子:
?- predicate([2,3,5,6],X).
X = [6,10,12,15,18,30]. % expected result
?- predicate([1,6,10],X).
X = [6,10,60]. % expected result
我正在尝试这样的事情,但我不知道如何升级此代码:
predicate([],[]).
predicate([_|[]],[]) :-
!.
predicate([H,S|T],[V|X]) :-
V is H*S,
predicate([H|T],X).