所以这就是问题:写一个谓词
triple(Xs,Ys)
< - Ys
中的每个元素都是Xs
的成员,并且在Ys
中连续出现三次
示例:
?- triple([a,b,c], L).
L = [a,a,a,b,b,b,c,c,c]
add(X,Xs,[X|Xs]).
triple(Xs,Ys):- add(X,Xs,[X|Ys])
这会将项目附加到列表中,例如
?- triple([1,2,3],L).
L = [3, 4, 5] .
如何让它多次追加我尝试重新进入该行,但无效或插入逗号再重新输入,我甚至尝试了列表连接,但它只添加了相同的列表无限次。 / p>
答案 0 :(得分:1)
简单模式可以是以下
triple([], []).
triple([H | Ti], [H, H, H | To]) :-
triple(Ti, To).