首页 > 解决方案 > 将包含原子的表达式输出到列表中的谓词

问题描述

我想要实现的是总结表达式中出现的原子的总体外观,然后将其输出为列表。这将表示为 atom*N。其中 N 是原子出现的总数。

part(_,[]).
part(A, 0) :- number(X), !.
part(A,[A]):- atom(A).
part(A, [A]):- var(A).
part(A + B, [R]):- part(A, N1), part(Y, N2), R is N1 + N2.

例如 N-v+w+w+z 将输出 [v*(-1), w* 2, z* 1]。

标签: prolog

解决方案


推荐阅读