在Prolog的空白列表中添加元素

时间:2018-11-30 18:02:19

标签: prolog

我需要在序言中的空列表中添加元素,但是我陷入了无限循环。 这是我的代码:

dot_product([],[],0).

dot_product([M|Ms],[N|Ns],Sum) :-
    dot_product(Ms,Ns,S),
    Sum is S+M*N.

add_tail([],X,[X]).

add_tail([H|T],X,[H|L]):-
    add_tail(T,X,L).

row([],[],[]).
row(RI,[],[]).
row(RI,[Y|O],R) :-
    dot_product(RI,Y,R1),
    add_tail([],R1,R),
    row(RI,O,R).  

示例输入:

?-row([1,2],[[1,2],[3,4]],R). 

预期输出:

R=[5,11] 

但进入无限循环。

0 个答案:

没有答案