作者RZAddict (鸩罗)
看板Programming
标题[问题] prolog
时间Fri Oct 21 00:44:29 2011
要练习prolog写了一个简单的题目
要把list里面找到的第二个element拿出来
takeoutSecond(A,B,C)
把Blist里面找到的第二个A拿掉
我写了这样
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).
可是出来的结果是把最後一个A拿掉
如果加一行takeoutSecond(A,[],[]).
就变成完全不会拿掉
请问哪里出错了??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.140.175
※ 编辑: RZAddict 来自: 140.113.140.175 (10/21 01:08)