在Definite Clause语法中计算列表中的数字

时间:2012-11-25 00:34:40

标签: prolog dcg

我正在编写一个程序来执行以下操作。如果我有一个[0,1] *列表,我的样本列表是[0,1,0,0,1],我想写一个dcg如果数字为0,则计数递增,当数字为1时,计数递减。

dd(0)-->[].
dd(Newcnt)-->[0],dd(Cnt),{Newcnt is Cnt + 1}.
dd(Newcnt)-->[1],dd(Cnt),{Newcnt is Cnt - 1}.

0 个答案:

没有答案