【发布时间】:2021-05-09 04:49:39
【问题描述】:
我想创建一个函数multiples(X, N, R),其中R 是一个列表,其中包含从X 到X * N 的X 的所有倍数。
一个例子是:multiples(3, 4, [12, 9, 6, 3]),它应该给出 true。
到目前为止我的代码:
multiples(X, N, R) :- X >= 1, N >= 1, Z is X*N, contains(Z, R).
contains(Z, [Z|_]).
contains(Z, [W|V]) :- contains(Z,V), L is Z-X, L >= X, contains(L, V).
multiples(3,4,X). 的控制台输出为X = [12|_xxxx],当我输入; 时出现错误。
我如何设法接收我想要的列表?
(也许我的想法完全错误)。
【问题讨论】:
标签: list prolog arithmetic-expressions