【发布时间】:2016-04-26 16:55:24
【问题描述】:
我是 PROLOG 的新手,正在尝试一些简单的练习来熟悉它。但是,我坚持将 2x2matrix 与另一个更具体的列表中的列表相加。
这是我的代码,使用 SWI-Prolog 的输出是 False,我不知道为什么。任何帮助表示赞赏!
matrixAdd([X],[Y],[S]) :- S is X + Y.
matrixAdd([[H|A],[I|B]],[[J|C],[K|D]],[[S1|Sum1],[S2|Sum2]]) :-
S1 = H + J,
S2 = I + K,
matrixAdd([A,B],[C,D],[Sum1,Sum2]).
【问题讨论】:
-
你在基本情况下巧妙地使用了
S is X + Y,但在第二个子句中忘记了它:你有S1 = H + J。 -
@Boris 你能详细说明一下吗?
标签: matrix prolog logic addition