用组合,3*3*3*1*1*1.................
有几个数就用几个组合

解决方案 »

  1.   

    不解,组合不大清楚啊,还希望能进一步提示
      

  2.   

    给你举个例子:假设复式投注为310,310,310,1
    public class zcjl {
    public static void main(String[] args) {
    int aa[] = { 3, 1, 0 };
    int bb[] = { 3, 1, 0 };
    int cc[] = { 3, 1, 0 };
    int dd[] = { 1 };
    int sin[][] = new int[aa.length * bb.length * cc.length * dd.length][4];
    for (int a = 0; a < aa.length; a++) {
    for (int b = 0; b < bb.length; b++) {
    for (int c = 0; c < cc.length; c++) {
    for (int d = 0; d < dd.length; d++) {
    sin[((a * bb.length + b) * cc.length + c) * dd.length + d][0] = aa[a];
    sin[((a * bb.length + b) * cc.length + c) * dd.length + d][1] = bb[b];
    sin[((a * bb.length + b) * cc.length + c) * dd.length + d][2] = cc[c];
    sin[((a * bb.length + b) * cc.length + c) * dd.length + d][3] = dd[d];
    }
    }
    }
    }
    for (int i = 0; i < 27; i++) {
    System.out.println(sin[i][0] + " " + sin[i][1] + " " + sin[i][2] + " " + sin[i][3]);
    }
    }
    }
      

  3.   

    现在是四个复式的情况的全排列.
    足彩是十三个,你得将复式投注的资料保存到13个数组中,然后将循环扩充到13轮即可
    方法有些笨,没有时间想比较好的,不好意思哈