所以我校園教授要求我們解決這個練習,但有點困難,現在我正在嘗試2天。無論如何這裏是:prolog上的名單練習
我給了一個例子列表[a,b,c,d,w,n,i,c,k,a,b,c,d,w]
,在這個列表中我必須找出是否有「可疑」子列表。子列表被認爲是「可疑」的,如果
1)相同的子列表是在開始和結束時,
2)它包含「W」,
3)其長度爲5
我給出的列表有一個「可疑」子列表。
如果存在可疑子列表,程序必須返回子列表或者如果沒有該程序必須返回[o,k]
。
任何想法都會受到歡迎,非常感謝! (對不起,如果我發佈的一些錯誤)
編輯
所以這裏經過一定的幫助是asnwer:
checkMessage1(L,SL):-
suspiciousMessage1(L,SL).
checkMessage1(L,[o,k]):-
not(suspiciousMessage1(L,SL)).
suspiciousMessage1(L,SL):-
append(SL,Last,L),
append(_,SL,Last),
length(SL,5),
member(w,SL).
請告訴我們你已經嘗試的東西,在這裏你就完蛋了。 – 2014-09-02 20:25:09
'add(H,[H | T])。 (H,L1), 數字1是數字-1, finder查詢(T,數字1,L1,L2,X)()數字1是數字-1, 查找器(T,N號碼,L1,L2,X) )。' 我嘗試「使用」這個從列表中得到前五個字符... 我知道它**不是**太多 – Nick 2014-09-02 20:46:23