我是新的prolog,並且遇到了我需要幫助的練習練習。從序列中的兩個列表中刪除連續序列
問題是要求定義一個謂詞removeContig(A,B),斷言列表B與列表A相同,只不過相同項目的連續序列實例被簡化爲一個實例。
例子:
removeContig ([a,a,b,b,b,c,c,c], [a,b,c]) -> true.
removeContig ([a,a,b,b,b,c,c,c], [a,b,c]) -> true.
removeContig ([a,a,b,b,b,c,c,c], [a,b,b,c]) -> false.
removeContig ([a,b,c,a,b,c], [a,b,c]) -> false.
removeContig ([a,b,c,a,b,c], [a,b,c,a,b,c]) -> true.
removeContig([[a],[b,b],[b,b],[a,a],[a,a],[b]], [[a],[b,b],[a,a],[b]]) -> true.
我如何能解決這個問題將是很大的幫助任何幫助。
Hello Mat,removeContig([Hi,Hi | Ti],Lo)的目的是什麼: - removeContig([Hi | Ti],Lo)。 ([H1 | H2 | Ti],[H1 | To]): - H1 \ = H2, removeContig([H2 | Ti],To)。您能否請添加評論,因爲我想了解解決方案?謝謝。 –
@SyedRahman - 呃...我是max66,不是Mat; Mat,在StackOverflow中,是一個比我更好的Prolog專家。無論如何...給我一些minuts,我試圖擴大我的答案。 – max66