rt

解决方案 »

  1.   


    public class PermutCombi {
    static void output(int[] num, int length) {
    int i;
    for (i = length - 1; i >= 0; --i)
    System.out.print((num[i]+1) + "  ");
    System.out.println();
    } static void permutCombi(int n) {
    int[] num, ;
    int i, flag;
    num = new int[n + 1];
     = new int[n];
    for (i = 0; i <= n; ++i)
    num[i] = 0;
    do {
    for (i = 0; i < n; ++i)
    [i] = 0;
    flag = 0;
    ++num[0];
    for (i = 0; i < n; ++i) {
    if (num[i] == n) {
    num[i] = 0;
    ++num[i + 1];
    }
    ++[num[i]];
    // 各位数组单元有无重复
    if ([num[i]] > 1) {
    flag = 1;
    break;
    }
    }
    if (flag == 0)
    output(num, n);
    } while (num[n] == 0);
    } public static void main(String[] args) {
    int n = 9;
    permutCombi(n);
    }
    }