【发布时间】:2021-09-04 23:58:39
【问题描述】:
我在 Prolog 中编写谓词时遇到问题:
在 Prolog 中,定义一个谓词 replace1(L1, L2),当列表 L2 派生自列表 L1 时,该谓词通过将每个元素替换为 element * element 形式的元素来满足。
示例:L1 = [1, aa, 3], L2 = [1 * 1, aa * aa, 3 * 3].
我试过这种方式,但这个谓词只适用于数字:
replace1 ([], []) :- !.
replace1 ([X | Xs], [Z | Zs]) :-
Z is X * X,
replace1 (Xs, Zs).
【问题讨论】:
标签: prolog