N个整数的分区

时间:2015-09-15 07:21:15

标签: java

我在谷歌中发现了这个代码来计算N个整数的分区计数。

有人能解释一下吗?

        int n = 4; //set integer here!!
          int[][] a = new int[n + 1][n + 1];
        int i, j, k;
        for (i = 0; i < a.length; i++) {
            a[i][0] = 0;
            a[0][i] = 1;
        }
        for (i = 1; i < a.length; i++) {
            a[i][1] = 1;
            for (j = 2; j < a[0].length; j++) {
                k = i - j;
                if (k < 0)
                    a[i][j] = a[i][j - 1];
                else
                    a[i][j] = a[i][j - 1] + a[k][j];
            }
        }
        i--;
        int answer = a[i][i - 1];
        System.out.println(answer + 1);

0 个答案:

没有答案