How do I generate all combinations of integers in java when placement is restricted? -


i need generate permutations on set of integers.

however placement of numbers matter.

in position 0, range 0-2. in position 1, range 0-3. in position 2, range 0-1.

so answer be:

000 001 010 011 020 021 030 031

100 101 110 111 120 121 130 131

200 201 210 211 220 221 230 231

do like:

public class test {      public static void main(string[] args) {         test x = new test();         x.generatepermutations(2, 3, 1);     }      private void generatepermutations(int intervalone, int intervaltwo,             int intervalthree) {         (int = 0; <= intervalone; i++) {             (int j = 0; j <= intervaltwo; j++) {                 (int k = 0; k <= intervalthree; k++) {                     system.out.print(i + "" + j + "" + k + " ");                 }             }         }     } } 

edit: think array of number of intervals: (you have check correctness though:

public class test {      public static void main(string[] args) {         test x = new test();         int[] intervals = { 1, 1, 1, 1, 1 };         x.generatepermutations(intervals);     }      private void generatepermutations(int[] intervals) {         generatepermutations(intervals, 0, "");     }      private void generatepermutations(int[] intervals, int intpos,             string lastperm) {          if (intpos == intervals.length)             return;          (int = 0; <= intervals[intpos]; i++) {             if (intpos == intervals.length - 1) {                 system.out.print(lastperm + + " ");             }             generatepermutations(intervals, intpos + 1, lastperm + i);         }     } } 

Comments