Sí.
Entonces quieres enumerar las permutaciones. Y puede hacerlo de manera que 1234567 sea lo primero, y 1234576 a continuación, 1234657 lo tercero … así es cómo hacerlo recursivamente:
Para las primeras 720 permutaciones, solo déjelos ser 1XXXXXX, donde las X son permutación de 2, 3, 4, 5, 6, 7 y sabe cómo enumerar esas permutaciones de 6 elementos, por recursión. Para las siguientes 720 permutaciones, permítales ser 2YYYYYY, donde Y son solo permutación de 1, 3, 4, 5, 6, 7. etc.
- ¿Cómo funciona el algoritmo de fijación de precios de Megabus?
- ¿Cuál es una buena estructura de datos para un editor de texto como Word / Google Docs?
- ¿Cuáles son algunas aplicaciones del algoritmo de clasificación de burbujas?
- Dada una lista de cadenas, ¿cómo puedo determinar si existe un orden de caracteres para el cual las cadenas están ordenadas en orden lexicográfico?
- ¿Qué algoritmos avanzados usa un sitio como Facebook?
Las últimas 720 de las 5040 permutaciones son solo de la forma 7ZZZZZZ, donde las Z son permutación de 1, 2, 3, 4, 5, 6.
Entonces, ¿cuál es la 3754a permutación [matemática] \ pi [/ matemática] de 1, 2, 3, 4, 5, 6, 7 aquí? Bien. Divide (0, 5040] en 7 segmentos de longitud 720 y 3754 = 5 * 720 + 154, por lo que [math] \ pi [/ math] tiene la forma 6XXXXXX, y será la 154a permutación de 1, 2, 3, 4, 5, 7. Un cálculo similar da 154 = 1 * 120 + 34, y por lo tanto [math] \ pi [/ math] tiene la forma 62XXXXX. Continúe con el cálculo a continuación y verá [math ] \ pi [/ math] = 6234715.
([matemáticas] 3754 = 5 * 6! + 1 * 5! + 1 * 4! + 1 * 3! + 2 * 2! [/ matemáticas].)
Y si 3451267 es la [matemática] i [/ matemática], ¿cuál es [matemática] i [/ matemática]?
[matemáticas] i = 2 * 6! + 2 * 5! + 2 * 4! + 0 * 3! [/ Matemáticas] [matemáticas] + 0 * 2! + 0 * 1! + 0 * 0! = 1728. [/ Matemáticas]
(Tiene que romper las líneas para que el modo matemático funcione correctamente).