【发布时间】:2019-12-14 16:40:15
【问题描述】:
我们可以用 choco 求解器检查 2 个部分数之间的相等性吗?
我有一个二维数组,对于它的每个元素,它们的域是具有相同形式的不同数字:由 6 位数字组成的数字(元素可以具有的值的一些示例:781010、680101、391111) . 我的问题是,如何只比较一个数字而不是整数?
我必须做一些看起来像那样的事情:
Model model = new Model();
IntVar[][] array = new IntVar[height][width];
....
// getting the domains for each element of array
....
for(int i = 0; i < height; i++) {
for(int j = 0; j < width; j++) {
model.arithm(array[i][j]3rdDigit, "=", array[i+1][j]4thDigit);
}
}
你能帮帮我吗?
【问题讨论】:
-
我不知道 choco(所以可能会有更好的答案),但这里有一个建议。您始终可以将数字写为一系列数字:x = d1 + 10*d2 + 100*d3.... 每个数字介于 0 和 9 之间。