我刚学了一周的 prolog,我必须编写一个 prolog 程序来计算一个元素出现在列表 L 中偶数位置的次数。
我试图找出从上午 12:00 到现在(过去 16 小时凌晨 4:00)的问题,但失败了。
1.到目前为止我尝试过的就像
count(_,[],0).
count(E,[E|L],C):-!,count(E,L,C1),C is C1+1.
count(E,[A|L],C):-atom(A),count(E,L,C),!.
count(E,[A|L],C):-count(E,A,C1),count(E,L,C2),C is C1+C2.
它只是可以计算整个列表在元素中的出现是一个列表。
2.第二个是取出列表中的第二个出现元素
我到目前为止所尝试的就像但是失败了
takeout(A,[A|B],B).
takeout(A,[B|C],[B|D]) :- takeout(A,C,D).
takeoutSecond(A,[B|C],[B|D]):- takeoutSecond(A,C,D).
takeoutSecond(A,[A|B],[A|C]):- takeout(A,B,C).
3.如果takeoutsecondlast没有reverse,你能给我一些提示吗?我会很感激的!
你能给我一些提示吗,我尽我所能。
我现在不会回复,因为我熬夜了,我为此道歉。感谢您阅读我的问题。