Llevo horas tratando de formular una posible solucion a este enunciado que
encontre por la web, por favor alguien puede darme una idea de como seria la
solucion.
Código
Saludos!
l = longitud de la cadena l = len(cad); factorial de n n!, o fact(n); funcion residuo mod o % Una cadena tiene n! permutaciones si su longitud es n para la permutacion X, X pertenece al intervalo [1, 2, 3, ..., n!] y para la posicion m-esima en la cadena m pertenece [0,1,2, ..., l-1] ej. abcd a: esta en la posicion 0 b: esta en la posicion 1 ... d: esta en la posicion 3 Tenemos un conjunto ordenado o lista ordenada C, en donde estan todos los caracteres de nuestra cadena, entonces una nueva permutacion para un X dado seria cad = ""; MIENTRAS m varia entre 0 y (longitud cadena -1) //concatenacion (+) c = C[ (X mod (n-1)!)/(n-(1+m))! ] cad = cad + c // Al conjunto le eliminamos el elemento instertado en cad C = C - {c} m = m+1 ]