Prolog会员谓词重量每件商品

时间:2016-11-27 01:34:55

标签: list prolog member

我正在为我的prolog程序整理这条规则,在调用时应该列出每个可以包含的浇头数量。它不能低于或高于40

pizza(P, S, B, O, M) :-
    member(P, [0,1,2,3,4,5,6,7,8,9,10]),
    member(S, [0,1,2,3,4]),
    member(B, [0,1,2,3,4,5,6]),
    member(O, [0,1,2,3,4,5,6,7,8]),
    member(M, [0,1,2,3,4,5]),
    X is 4*P + 10*s + 6*B + 5*O + 7*M,
    X =< 40,
    Y is 40-X.

它继续产生此错误。

  

错误:是/ 2:算术:`s / 0&#39;不是一个功能

当我尝试使用函数pizza(1, S, 1, O, M).

1 个答案:

答案 0 :(得分:1)

我想那个

X is 4*P + 10*s + 6*B + 5*O + 7*M,

应该写成

X is 4*P + 10*S + 6*B + 5*O + 7*M,

我的意思是:大写S而不是小写s