0
具有列表 - myMultiply/3
序言 - 列出
myMultiply([],X,[]) :- !.
myMultiply([H|T],X,Result) :-
myMultiply(T,X,NewRest),
Elem is H*X,
Result = [Elem|NewRest].
哪家mulply每個元素在左邊的列表在第二ARG尼姑並返回Result
。
例如 -
myMultiply([1,4,5],4,R).
R = [4,16,20].
而且tlm/3
tlm(List1,[],_) :- !.
tlm(List1,[H2,Rest2],Result):-
myMultiply(List1,H2, Elem),
tlm(List1,Rest2,NewResult),
Result = [Elem|NewResult].
其中還有我試圖讓myMultiply/3
到左側列表右側列表中的每個元素和retun Result
。
例如 -
?- tlm([3,4,2],[4,7,8],R).
R = [[12,16,8],[21,28,14],[24,32,16]].
一般的想法是得到了Elem
列表和Concat的他NewResult
。
我的問題是tlm/3
回報false
-
?- tlm([3,4,2],[4,7,8],R).
false.
代替上述的例子。
我在這裏做錯了什麼?
你能指出你的修正是什麼?我看不到任何更改.. – URL87
確定:'tlm(List1,[],[])'而不是'tlm(List1,[],_)'和'tlm(List1,[H2 | Rest2],結果)而不是'tlm(List1,[H2,Rest2],Result)'。三個人物......其次,特別是「虛假」答案的原因。 – CapelliC