リストからすべての要素を取得し、重複することなく他の要素と組み合わせる述語を書きたいと思います。
例:
?- 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).