PYP
CQB
CBCW
-----
WXYPB
其中每个字母代表0-9中的唯一数字,而该行下方的值代表相关数字的总和。
答案 0 :(得分:1)
查看非常相关问题Faster implementation of verbal arithmetic in Prolog。
根据my previous answer,让我们使用clpfd来解决您的具体等式!
?- Eq = ([P,Y,P] + [C,Q,B] + [C,B,C,W] #= [W,X,Y,P,B]),
crypt_arith_(Eq,Zs),
labeling([],Zs).
Eq = ([9,3,9]+[8,7,5]+[8,5,8,1]#=[1,0,3,9,5]),
Zs = [9,3,8,7,5,1,0],
P = 9,
Y = 3,
C = 8,
Q = 7,
B = 5,
W = 1,
X = 0 ;
false.