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);
}
}


