我正在上一门编程课程,由于时间不够,教授只是略略浏览了 Prolog。不管怎样,他建议我们自己研究一下。我遇到了一个应该计算的密码算术程序?上午 + 下午 = 天。我不知道应该在 SWI 解释器中添加什么作为输入,以及应该接收什么作为正确的输出......如果这有意义吗?
我试过了...
solve([AM],[PM],[DAY]).
那没有任何作用。有关 AM+PM = DAY 或类似内容的正确输入的任何帮助都会很棒!这是我正在玩的程序...
solve([A,M,P,D,Y]):-
select(A,[0,1,2,3,4,5,6,7,8,9],WA), % W means Without
not(A=0),
select(M,WA,WMA),
select(P,WMA,WMAP),
not(P=0),
select(D,WMAP,WMAPD),
not(D=0),
select(Y,WMAPD,WMAPDY),
DAY is 100*D+10*A+Y,
AM is 10*A+M,
PM is 10*P+M,
DAY is AM+PM.
请记住,我们在 Prolog 上只有两节课,所以我几乎一无所知!
斯科特