这个问题要求我们对 Prolog 进行编码,如果列表 L 中没有元素小于 A,则当 M 为 A 时满足;否则当 M 是列表 L 的最小值时满足
minLessThan([],A,A).
minLessThan([H|T], A, M) :-
H >= A,
M is A,
minLessThan(T, A, M).
minLessThan([H|T], A, M) :-
H < A,
M is H,
minLessThan(T, A, M).
现在,我的结果对句子的第一部分有效,但是当 M 是列表 L 的最小值时它一直返回 false,我假设当列表 L 为空时出现问题,它返回 A,有什么办法可以解决这个问题?