如何获得一维minizinc数组的前n个(奇数个)元素?

时间:2018-08-13 20:19:44

标签: arrays minizinc

听起来很简单,但是我还没有找到解决方案。 如何获得具有一个维度的minizinc数组的前n个(奇数个)元素?结果应该是一个数组,以便我可以在count()或sum()上应用

1 个答案:

答案 0 :(得分:1)

如果您的数组arr的索引集为1..m,最简单的方法是以下数组理解:

[ arr[i] | i in 1..n ]

您还可以构造不依赖于从1开始的索引集的数组理解。

[ arr[i] | i in (min(index_set(arr)))..(min(index_set(arr)))+n ]

请注意,如果length(arr) < n,则任何一种理解都将不起作用。