Todas as permutações possíveis entre N elementos.[RESOLVIDO]

Estou com dúvida a respeito de um problema que é simples para quem já trabalha com JAVA.
Sou iniciante na linguagem e preciso do seguinte programa em JAVA:

Considerando que todos os elementos são os números de 1 a “n”, faça um programa capaz de receber o numero “n” de elementos e apresentar todas as possíveis permutações destes elementos.
Por exemplo: Se o usuário fornecer 4, indicando que os números formarão o conjunto {1,2,3,4}; deve ser apresentado:

(1,2,3,4);(1,2,4,3);(1,3,2,4);(1,3,4,2);(1,4,2,3);(1,4,3,2);
(2,1,3,4);(2,1,4,3);(2,3,1,4);(2,3,4,1);(2,4,1,3);(2,4,3,1);
(3,1,2,4);(3,1,4,2);(3,2,1,4);(3,2,4,1);(3,4,1,2);(3,4,2,1);
(4,1,2,3);(4,1,3,2);(4,2,1,3);(4,2,3,1);(4,3,1,2);(4,3,2,1);

Observações:

  1. Obviamente, o numero total de permutaçoes é n!, aplicando no exemplo acima: 4! = 24.
  2. A ordem de apresentação das permutações é livre. O importante é mostrar todas.

Vamos dar o algoritmo - procure nesta página ( http://www.bearcave.com/random_hacks/permute.html ) a partir do título “An Ordered Lexicographic Permutation Algorithm based on one published in Practical Algorithms in C++”.

Lá tem um fonte em C, você pode mudá-lo para Java com uma mão e um pé amarrados nas costas.

Olá Guilherme

Manda um email para [color=darkblue]resolvendoalgoritmos@hotmail.com[/color], eles me responderam uma questão bem parecida a pouco tempo.

Obrigado ae galera… já mandei o e-mail pro pessoal como o Luciano664 indicou. Vou ver no que eles podem me auxiliar.
Qualquer novidade volto a postar aqui.

Valeu Luciano, resolveram meu problema rapidim… :smiley:

guilherme.oq tem como você colocar esse código ai?

Xará, dê uma olhada no link que passei. Para converter o tal código para Java é moleza.

http://www.bearcave.com/random_hacks/permute.html

valew

Estou com uma dúvida nesse problema,preciso desse programa em linguagem C. Como eu posso fazer as permutações reduzindo o número de “printfs”?