-1
我已經編寫了以下程序來計算列表中的所有成員對。這裏是我的代碼:如何修改下列Prolog程序
select_pair(X, Y, [X|[Y|T]], T).
select_pair(X, Y, [Head|[X|[Y|T]]], [Head|Rest]) :- select_pair(X, Y, T, Rest).
我應該打電話給我的代碼只有這3名成員組成的列表:
select pair(X, Y, [1,2,3], Zs).
但這並不產生所有可能的組合。它只產生
X = 1, Y = 2, Zs = [3]
並且它應該產生這一點,但它並不:所以
X = 1, Y = 2, Zs = [3] ;
X = 1, Y = 3, Zs = [2] ;
X = 2, Y = 1, Zs = [3] ;
X = 2, Y = 3, Zs = [1] ;
X = 3, Y = 1, Zs = [2] ;
X = 3, Y = 2, Zs = [3]
,我怎麼能修改此代碼來生成所有可能的對的列表中的成員[1 ,2,3]?
非常好。別介意我的前言。評論。我剛看到你如何修改select/3。奇蹟般有效。謝謝 – 2014-12-02 14:13:41