小编kyo*_*kyo的帖子

Prolog 密码算术难题

我被要求使用 Prolog 解决一个密码谜题:

GIVE
* ME 
------
MONEY
Run Code Online (Sandbox Code Playgroud)

以上是谜题,我无法弄清楚问题出在哪里,结果总是返回 false。另外,我不允许使用 SWI-Prolog 中的任何库。

solve(Z) :-
    assign(Z,[0,1,2,3,4,5,6,7,8,9]),
    check(Z).

find( VAL , G,I,V,E  ) :- VAL  is G * 1000 + I * 100 + V * 10 + E.
find2(VALR, M,E      ) :- VALR is M * 10 + E.
find3(VALA, M,O,N,E,Y) :- VALA is M * 10000 + O * 1000 + N * 100 + E * 10 + Y.

check(Z) :- 
    G #>= 1, 
    M #>= 1,
    find( VAL, …
Run Code Online (Sandbox Code Playgroud)

prolog clpfd cryptarithmetic-puzzle

5
推荐指数
1
解决办法
2282
查看次数

标签 统计

clpfd ×1

cryptarithmetic-puzzle ×1

prolog ×1