リストをチェックして操作するための 3 つのプロローグ述語について、助けが必要です。私はプロローグが初めてで、どんな助けでも大歓迎です。
3 つの述部は次のとおりです。
double_up(+List1, -List2)List2は、各要素がList12 倍の場合に true です。クエリdouble_up([a,b,c],X)はX=[a,a,b,b,c,c]. 出力リスト内の要素の順序は重要ではありません。pivot(+List1, +Pivot, -Smaller, -GreaterEq)がより小さいSmallerの数のリストであり、 がより大きいか等しい の数のリストである場合、 は真です。List1PivotGreaterEqList1Pivotfancy_replace(+List, +Takeout,+Putin, -NewList, -Count)NewListがinput と同じリストの場合は true ですが、リスト内のList各Takeout要素は要素に置き換えられPutinます。Count は、置き換えられた Takeout の数である必要があります。たとえば、クエリは とfancy_replace([9,10,1,9,2],9,0, X, C)を与える必要がX = [0,10,1,0,2]ありC = 2ます。出力リスト内の要素の順序は重要ではありません。