我正在尝试实现min(X,L)函数,以便如果X是List的最小值,则返回true,否则返回false。
min(X,[X]) :- !.
min(res, [X,Y|Z]:- (X > Y -> min(res, [Y|Z]); min(res, [X|Z])).
结果运行:
min(6, [6]).
yes
min(6, [6,7,8]).
no
踪迹:
1 1 Call: min(6,[6,7,8,9]) ? c
1 1 Fail: min(6,[6,7,8,9]) ? c
(4 ms) no
我对Prolog完全陌生,任何建议都会有所帮助