我是Prolog的新手,并坚持做一些编程作业。其中一个应该像这样工作:
myDel(1, [1, 2, 1, 3, 1, 4], M).
结果应该是:
M = [2, 3, 4].
要解决此问题,可以递归地仅使用追加,并且不能使用内置删除。
有人可以帮忙吗?
答案 0 :(得分:2)
我必须说,如果不用勺子给你答案就很难提供帮助。 Prolog有点像那样。这是一个部分答案,希望不会给出太多的答案:
myDel(N, [], []).
myDel(N, [N|T], U) :- ...
答案 1 :(得分:0)
抱歉!切需要。
myDel(N,L,DelL) :-
append(L0,[N|R],L),
myDel(N,R,DelL2),
append(L0,DelL2,DelL),
!.
myDel(_,L,L).