returns 给定一些最大和最小标准的所有排列的方法
Method that returns all permutation given some maximum and minimum criteria
需要建立这个方法,可能会使用一些递归,但没有成功,一旦给定每个元素的总和最大值和最小值return所有可能的列表,其元素的总和是总价值。
Ex
Input:
Total: 25
Maximum value per element in array:5
Minimum value per element in array:3
Output:
[5,5,5,5,5] [4,4,4,4,4,5] [3,3,4,4,4,4,3] [3,3,4,4,4,4,3] [3,3,3,4,4,4,4] [3,3,3,3,4,4,5]
....
伪代码:
void makesum(lst, int asum, int amin, int amax):
if (asum == 0) {
print(lst.ToString());
}
else {
for (int i=amin; i <= min(asum, amax); i++) {
makesum(lst.add(i), asum - i, amin, amax);
}
}
makesum(empty_array, 15, 3, 5)
需要建立这个方法,可能会使用一些递归,但没有成功,一旦给定每个元素的总和最大值和最小值return所有可能的列表,其元素的总和是总价值。
Ex
Input:
Total: 25
Maximum value per element in array:5
Minimum value per element in array:3
Output:
[5,5,5,5,5] [4,4,4,4,4,5] [3,3,4,4,4,4,3] [3,3,4,4,4,4,3] [3,3,3,4,4,4,4] [3,3,3,3,4,4,5]
....
伪代码:
void makesum(lst, int asum, int amin, int amax):
if (asum == 0) {
print(lst.ToString());
}
else {
for (int i=amin; i <= min(asum, amax); i++) {
makesum(lst.add(i), asum - i, amin, amax);
}
}
makesum(empty_array, 15, 3, 5)