持っている-myMultiply/3
myMultiply([],X,[]) :- !.
myMultiply([H|T],X,Result) :-
myMultiply(T,X,NewRest),
Elem is H*X,
Result = [Elem|NewRest].
左側のリストの各要素を2番目の引数の修道女に掛けて返すもの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
そこで、右側のリストの各要素の左側のリストを作成して、元に戻そうとしてい Result
ます。
例えば -
?- tlm([3,4,2],[4,7,8],R).
R = [[12,16,8],[21,28,14],[24,32,16]].
一般的に、アイデアはElem
リストを取得して彼をに連結することNewResult
です。
私の問題はそれtlm/3
が戻ることですfalse
-
?- tlm([3,4,2],[4,7,8],R).
false.
上記の例の代わりに。
私がここで間違ったことは何ですか?