Guest User

Untitled

a guest
Jan 21st, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.50 KB | None | 0 0
  1. public class Permutations {
  2. private int[] p;
  3. private int size;
  4. public Permutations(int n) {
  5. p = new int[n];
  6. size = 1;
  7. for (int i = 0; i < n; i++) {
  8. p[i] = i;
  9. size *= i + 1;
  10. }
  11. }
  12. public int size() {
  13. return size;
  14. }
  15. public int[] get(int n) {
  16. int[] r = (int[]) p.clone();
  17. for (int i = p.length; 0 < i; i--) {
  18. swap(r, i - 1, n % i);
  19. n = (n - (n % i)) / i;
  20. }
  21. return r;
  22. }
  23. private void swap(int[] r, int i, int j) {
  24. int t = r[i]; r[i] = r[j]; r[j] = t;
  25. }
  26. }
Add Comment
Please, Sign In to add comment