Boa tarde,
Crei este algoritmo que gera todas as sequencias de numeros de um vetor.
No entanto, quando rodo o programa imprimi sequencias repetidas. O que está errado?
Obrigado 
package permutacao;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.*;
import java.lang.Math;
public class Permutacao {
private static int[] v;
private final PrintStream saida = System.out;
public static void permuta1(int [] seq) {
for ( int i=0; i<24; i++){
int m=i;
int n=4;
int d = n;
int r=0;
int aux=0;
r = m%d;
aux = seq[n-d+r];
seq[n-d+r] = seq[n-d];
seq[n-d] = aux;
m = (int)Math.floor((m-r)/d);
d = d-1;
imprime();
}
}
private static void imprime() {
System.out.println();
for (int e=0; e< v.length; e++) System.out.print( v[e] + " ");
}
public static void main(String[] args) {
v = new int[] {0, 1, 2, 3};
permuta1(v);
}
}