我开始学习 Prolog,我想要一个给定整数的程序给P
整数A
等等。如果没有和的值满足这个方程,应该返回B
P = A² + B²
A
B
false
例如:如果P = 5
,它应该给出A = 1
and B = 2
(或A = 2
and B = 1
),因为1² + 2² = 5
.
我在想这应该可行:
giveSum(P, A, B) :- integer(A), integer(B), integer(P), P is A*A + B*B.
使用查询:
giveSum(5, A, B).
但是,事实并非如此。我该怎么办?我对 Prolog 很陌生,所以我仍然犯了很多错误。
提前致谢!