Prolog - 在将每个值加倍后,从原始列表中创建元素的新列表?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Prolog - 在将每个值加倍后,从原始列表中创建元素的新列表?相关的知识,希望对你有一定的参考价值。
Example of trace produced. 我试图写一个谓词listDouble(L1, L2)
,其中L2
中的每个元素都是L1
中相应元素的两倍(即如果L1 = [1,2,3]则L2 = [2,4,6]),并且到目前为止这是我的代码:
listDouble([], [L2]).
listDouble([H|T], [L2|_]):-
L is H * 2,
listDouble(T, [L]).
但是,它不起作用,我想我很难理解如何将每个元素的双重添加到L2
?
答案
listDouble([],[]).
listDouble([H|T], [D|L]):-
D is H * 2,
listDouble(T,L).
以上是关于Prolog - 在将每个值加倍后,从原始列表中创建元素的新列表?的主要内容,如果未能解决你的问题,请参考以下文章