【发布时间】:2014-03-05 19:41:46
【问题描述】:
我目前正在使用 prolog 并希望以某种方式将两个列表相乘。例如:
[1,2,3] and [4,5,6] are my two lists.
我想执行以下操作:
(1*4)+(2*5)+(3*6) = 32
这样每个列表的第一个元素相互相乘,然后与第二个元素相乘,以此类推。
这可以在 Prolog 中使用吗?
我知道在其他语言中,您可以使用列表的头部和尾部(其余条目)来执行递归函数。这允许一个简单的乘法,但我认为这在 prolog 中是不可能的?
【问题讨论】:
-
你读过prolog教程或书籍吗?为什么您认为在 prolog 中可能无法进行递归列表处理?这是一个很常见的操作。