标签: prolog sum
答案 0 :(得分:2)
按照你的建议使用:
getNumbers(M, C, S):- between(0, S, M), C is S - M.
要获取完整列表,请使用findall/3,例如这个查询:
findall/3
?- findall([M,C], getNumbers(M, C, 5), Numbers). Numbers = [[0, 5], [1, 4], [2, 3], [3, 2], [4, 1], [5, 0]].