我正在尝试解决序言中的这个难题:
一个球棒的价格是1.10美元。蝙蝠比蝙蝠贵一美元。 球。球要多少钱?
solve(Bat, Ball, Sum) :-
Bat + Ball is Sum,
Bat is 1 + Ball.
我想出了这个潜在的解决方案,但是我变得虚假,没有答案。
这是我的查询:
solve(Bat, Ball, 1.10).
我也想理解,这里的推理出了什么问题。
答案 0 :(得分:1)
一种简单的方法,通过生成和测试:
cents(Cents) :- between(0,1 000 000,Cents).
bat_and_ball(Bat, Ball, Sum) :-
cents(Ball),
Bat is 100 + Ball,
Sum is Bat + Ball.
当然,可以学习CLP(FD),以进行Prolog学习。
注释:@lurker做一个伟大工作来真的解释您的错误。所以要归功于他...