Prolog简单的数字谜题有偿求解!!报错Syntax
prolog吧
全部回复
仅看楼主
level 1
有没有大神可以帮忙看一下,是一道用Prolog解密码谜题,题目就是
TWO
+TWO
————
FOUR
新手小白,想请教大神帮忙解答或者改正,还需不需要在最后写solution这类的呢?下面是我写的代码,
但是报错 syntax error: . or operator expected after expression1 error(s)compilation failed 求解!!
solution (T, W, O, F, U, R) :-
select(T, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], L1),
select(W, L1, L2),
select(O, L2, L3),
select(F, L3, L4),
select(U, L4, L5),
member(R,15),
FOUR is F * 1000 + O * 100 + U * 10 + R,
TWO is T * 100 + W * 10 + o,
FOUR is TWO + TWO.
解答出有偿!!
2021年10月27日 06点10分 1
level 1
出多少
2021年10月27日 07点10分 3
吧务
level 14
:- use_module(library(clpfd)).
puzzle([T,W,O] + [T,W,O] = [F,O,U,R]) :-
Vars = [T, W, O, F, U, R],
Vars ins 0..9,
all_different(Vars),
T*100 + W*10 + O +
T*100 + W*10 + O #=
F*1000 + O*100 + U*10 + R,
T #\= 0, F #\= 0,
label(Vars).
2021年10月31日 14点10分 5
我是从这个网站上参考过来的: https://github.com/Anniepoo/swiplclpfd/blob/master/clpfd.adoc
2022年03月06日 12点03分
level 13
仔细一看发现代码打错了,member(R,15)→member(R,L5)
2023年01月04日 15点01分 6
1