Prolog中用于删除的列表操作
任何偶数列表都有两个中间元素 请帮助我编写一个Prolog程序,将偶数列表中的两个中间元素删除到其他列表中 例如,如果我们给出:Prolog中用于删除的列表操作,prolog,Prolog,任何偶数列表都有两个中间元素 请帮助我编写一个Prolog程序,将偶数列表中的两个中间元素删除到其他列表中 例如,如果我们给出:?-del_-mid_-偶([10,20,30,40,50,60],L1)。 然后它将产生:L1=[10,20,50,60]作为输出。类似于您的: 与您的类似: 你尝试了什么,什么不起作用?@Dev:如果你满意,不要忘记接受答案。你尝试了什么,什么不起作用?@Dev:如果你满意,不要忘记接受答案。很好地使用龟兔算法。:-)学分归TA_intern(),我刚刚了解了这一点
?-del_-mid_-偶([10,20,30,40,50,60],L1)。
然后它将产生:
L1=[10,20,50,60]
作为输出。类似于您的:
与您的类似:
你尝试了什么,什么不起作用?@Dev:如果你满意,不要忘记接受答案。你尝试了什么,什么不起作用?@Dev:如果你满意,不要忘记接受答案。很好地使用龟兔算法。:-)学分归TA_intern(),我刚刚了解了这一点。很好地使用了龟兔算法。:-)学分归TA_实习生(),我刚刚了解到这一点。
delete_mid2(Ori, Del):-
delete_mid2(Ori, Ori, Del).
delete_mid2([_,_], [_,_|Slow], Slow).
delete_mid2([_,_|Fast], [H|Slow], [H|Ret]):-
delete_mid2(Fast, Slow, Ret).
?- delete_mid2([10,20,30,40,50,60],L).
L = [10, 20, 50, 60] ;
false.
?- delete_mid2([1,2,3,4],L).
L = [1, 4] ;
false.
?- delete_mid2([1,2,3],L).
false.
?- delete_mid2([],L).
false.