如何比较Prolog列表中的值?

时间:2012-04-16 19:33:57

标签: prolog

表:         包= [             (a,1,2),             (b,2,3),             (c,3,4)],

我想比较列表a中的1 * 2,列表b中的2 * 3和列表c中的3 * 4的结果。 并对结果和输出进行排序,如何在PROLOG中进行排序?

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用sort/2执行此操作:

?- findall([Result, Name], 
        (member((Name, A, B), [(a, 3, 2), (b, 1, 3), (c, 3, 4)]),
         Result is A*B),Output), 
   sort(Output, SOutput).

SOutput = [[2, a], [6, b], [12, c]].