我需要在序言中的空列表中添加元素,但是我陷入了无限循环。 这是我的代码:
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]
但进入无限循环。