Código:
Saludos package proyectovarillas; import java.util.Scanner; /** * * @author Oscar */ public class ProyectoVarillas { public static int contador = 0; public static void Permutacion(int[] input, int startindex) { int size = input.length; if (size == startindex + 1) { System.out.println("Permutacion "+(contador+1)); for (int i = 0; i < size; i++) { System.out.print(input[i] + ", "); } System.out.print("\n"); contador++; } else { for (int i = startindex; i < size; i++) { int temp = input[i]; input[i] = input[startindex]; input[startindex] = temp; Permutacion(input, startindex + 1); } } } public static void main(String[] args) { Scanner in = new Scanner(System.in); int cant, atotal; System.out.print("Cantidad de varillas en el almacen: "); cant=in.nextInt(); int almacen[] = new int[cant]; atotal = 0; for (int i=0;i<cant;i++){ System.out.print("Longitud de la varilla"+"["+(i+1)+"] en centimetros: "); almacen[i] = in.nextInt(); atotal = atotal + almacen[i]; } int pcant,ptotal; System.out.print("De cuantas varillas sera el pedido: "); pcant = in.nextInt(); int[] pedido = new int[pcant]; ptotal = 0; for (int i=0;i<pcant;i++){ System.out.print("Longitud del pedido"+"["+(i+1)+"] en centimetros: "); pedido[i] = in.nextInt(); ptotal = ptotal + pedido[i]; } int completo = atotal - ptotal; if (completo<0){ System.out.print("No se completa el pedido."); System.exit(0); } int fac = pcant; for (int i=1;i<pcant+1;i++){ if (i<pcant){ int n = pcant - i; fac = fac * n; } } contador = 0; Permutacion(pedido, 0); System.out.println("Permutaciones obtenidas: "+fac); } }