0
我正在開發一個Prolog程序,它應該將每個列表的nth元素加載到另一個列表中。例如:Prolog - 給出列表中的每個第n個元素
?- pred([a,b,c,d,e,f,g,h,i,j],3,R) =>
R = [c,f,i]
哪裏pred
是我試圖實現謂語。
但我真的不知道該怎麼做。我知道我需要一個計數器,它代表了我腦袋的當前位置,所以它將是一個/ 4謂詞,後面總結爲1/3,比如 第n個(列表,數字,結果): - 第n個(列表,數字,結果,計數器)或類似。
雖然,我不知道如何給頭部一個位置號碼,可以重置自己。因爲一旦它遇到n(假設n=3
,它是列表中的c
),它必須回到邏輯1並再次計數到3,發出元素,依此類推。
如何在我的實施中解決這些特定問題?