我们说我有一个N行和N列的矩阵。让我们取N = 5.我怎样才能创建一个.pl程序,它返回一个N个随机对的列表,其中任意对之间的距离最小为2?一对是(i,j)形式,其中i表示线,j表示元素的列。我做了距离函数:
dist(X1, Y1, X2, Y2, D) :-
D is round(sqrt((X2 - X1)**2 + (Y2 - Y1)**2)).
主要应该是这样的:
?- L = []
?- make_list(L).
L = [pair(5,5), pair(1,1), pair(3, 3), pair(1,5), pair(5, 1)]
你能给我任何有用的代码或者至少一些想法吗?
答案 0 :(得分:0)
我建议使用以下伪代码
findall/3
注释中建议的规则:)lenght/2
这应该效果很好:)尝试一下,它非常简单。