2016-11-27 70 views
0

优质披萨由正好40盎司的配料组成。只要总重量等于40盎司,每个顶部就可以有多个条目。Prolog成员谓词可能性规则

Pepperoni   4 
Sausage    10 
Bacon    6 
Onion    5 
Mushroom   7 

例如,比萨饼可以包含1个浇头辣香肠,2个浇头香肠,1摘心熏肉 ,和2个浇头洋葱:1*4 + 2*10 + 1*6 + 2*5 = 40(盎司)

一个比萨不能包含7个浇头培根:7 * 6 = 42 > 40A比萨饼不能只包含3浇头香肠:3*10 = 30 < 40

定义的规则pizza(P, S, B, O, M)找出多少每个馅料可在比萨,其中P, S, B, O, and M是重量包含 (在OU nces)的意大利辣香肠,香肠, 培根,洋葱和蘑菇顶端分别。

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]), 
S is 4*P + 10*S + 6*B + 5*O + 7*M, 
S =:= 40. 

我已经定义了下面的规则,但它返回false而不是可能的配合组合。

回答

0

您正在使用S香肠的重量和整个披萨的重量。

+0

我觉得哑巴。谢谢 –