在 Prolog 的列表中插入零
Insert zeros in a list on Prolog
我需要在 prolog 中给定列表的每个元素后插入零,请你帮帮我,我找不到正确的方法让它工作。这是我的代码:
insert_zero([A|T]),([A|B]):-
insert_zero([Rest|R1]), append(0,R1,B).
答案应该给我这个
?- insert_zero([a,2,c,3], R).
R = [a,0,2,0,c,0,3,0].
这可以用一个简单的谓词来实现:
insert_zero([],[]).
insert_zero([H|T],[H,0|T1]):-
insert_zero(T,T1).
?- insert_zero([a,2,c,3], R).
R = [a, 0, 2, 0, c, 0, 3, 0].
我需要在 prolog 中给定列表的每个元素后插入零,请你帮帮我,我找不到正确的方法让它工作。这是我的代码:
insert_zero([A|T]),([A|B]):-
insert_zero([Rest|R1]), append(0,R1,B).
答案应该给我这个
?- insert_zero([a,2,c,3], R).
R = [a,0,2,0,c,0,3,0].
这可以用一个简单的谓词来实现:
insert_zero([],[]).
insert_zero([H|T],[H,0|T1]):-
insert_zero(T,T1).
?- insert_zero([a,2,c,3], R).
R = [a, 0, 2, 0, c, 0, 3, 0].