我怎樣才能讓我的Prolog程序輸出序言乘以一個列表的元素
1*a*b*c
如果我輸入simplify([1,a,b,c],S).
? 目前結果將是
1 *(a *(b * c))。
simplify(S,S1):-
s(S,S1).
s([H|T],C) :- T\=[],s(H,SA), s(T,SB), s0(SA*SB,C).
s([H|T],H) :- T==[].
s(A,A).
s0(A*B,S):-
S = A*B.
感謝您的幫助。
不幸的是輸出不需要是一個「複合」 –