2

我想要 10 个带有约束的变量,但 Prolog 只标记 9。这是我的代码:

:- use_module(library(clpfd)).
colour(Regions) :-
    Regions = [A,B,C,D,E,F,G,H,I,J],
    Regions ins 1..10, 
    all_distinct(Regions),
    labeling([], Regions).

%%% Output:
?-colour(X).
A = [1, 2, 3, 4, 5, 7, 6, 10, 8|...] ;   % only 9 variables labelled.

注意: 它适用于ins 1..99 个变量。

4

0 回答 0