我应该在 Prolog 中编写一个程序,当给定一个列表时,它会返回其幂集的排列。
我忘了提一件事:我已经有一个反转列表的谓词:deep_reverse(List,RevList)。
例如:?-sublist_perm([a,b,c],X).
将返回:(允许重复)
X = [] ;
X = [c] ;
X = [b] ;
X = [b, c] ;
X = [c, b] ;
X = [a] ;
X = [a, c] ;
X = [c, a] ;
X = [a, b] ;
X = [b, a] ;
X = [a, b, c] ;
X = [b, a, c] ;
X = [b, c, a] ;
X = [a, c, b] ;
X = [c, a, b] ;
X = [c, b, a]