62,628
社区成员
发帖
与我相关
我的任务
分享
public static void main(String[] args) throws Exception {
long start = new Date().getTime();
int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33 };
think(0, 150, a, 0, new int[6]);
System.out.println(new Date().getTime() - start);
}
static void think(int i, int totalNow, int[] src, int size, int[] result) {
if (size == 6) {
if (totalNow == 0) {
for (int k = 0; k < result.length; k++)
System.out.print(result[k] + " ");
System.out.println();
}
return;
}
if (src[i] > totalNow) {
return;
}
int[] r = new int[result.length];
System.arraycopy(result, 0, r, 0, r.length);
for (; i < src.length; i++) {
r[size] = src[i];
think(i, totalNow - src[i], src, size + 1, r);
}
}