Título: Problema con formula para generar permutaciones Publicado por: Blaster en 26 Diciembre 2013, 14:34 pm Hola a todos
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! Título: Re: Problema con formula para generar permutaciones Publicado por: amchacon en 26 Diciembre 2013, 15:47 pm No se entiende nada, tampoco preguntan nada :huh:
Título: Re: Problema con formula para generar permutaciones Publicado por: ivancea96 en 26 Diciembre 2013, 15:58 pm Explica lo que te pide el ejercicio.
Eso ponlo como una cita, no como un code. Título: Re: Problema con formula para generar permutaciones Publicado por: Blaster en 30 Diciembre 2013, 14:55 pm Pasa que esta linea (X mod (n-1)!)/(n-(1+m))! se trata de una
formula, que implementandola de la manera correcta en algun lenguaje; podrias conseguir con ella todas las permutaciones de un conjunto de elementos. Esto lo saque de un foro donde un usuario lo posteo diciendo que le tomo dos dias encontrar la de escribirla en C, quise contactar con este usuario pero este ya no frecuenta el foro. Saludos ;D Título: Re: Problema con formula para generar permutaciones Publicado por: dato000 en 30 Diciembre 2013, 14:59 pm pues eso parece más python...iria mejor en el foro de scripting :silbar: :silbar:
Título: Re: Problema con formula para generar permutaciones Publicado por: ivancea96 en 30 Diciembre 2013, 15:04 pm La fórmula de las permutaciones es:
Citar n!/((n-r)!) Donde N es el número de elementos, y R el número de elementos cogidos para cada permutación.Esta fórmula da resultados cuando NO se repiten los elementos, e IMPORTA el orden. Por si acaso decirte, que en C/C++ no existe la función factorial (!) por si sola. Quizás en la librería Maths encuentres algo, o sinó haces la función a mano. 4! = 4*3*2*1 2! = 2*1 (El 1 se puede omitir, ya que no aporta nada) 1! = 1 0! = 1 Título: Re: Problema con formula para generar permutaciones Publicado por: leosansan en 30 Diciembre 2013, 15:36 pm La fórmula de las permutaciones es: Citar n!/(n-r)!) Perdona pero no. Esa es la fórmula de las variaciones sin repetición de n elementos tomados r a r. La de las permutaciones sin repetición es simplemente Citar n! Título: Re: Problema con formula para generar permutaciones Publicado por: ivancea96 en 30 Diciembre 2013, 16:49 pm En un array de 3 elementos {a, b, c}.
Cuantas formas hay de coger elementos de 2 en 2? a,b / a,c / b,c / b,a / c,a / c,b (3*2)/(3-2)! = 6 ----------------------------------- De 1 en 1: a / b / c (3*2)/(3-1)! = 3 ----------------------------------- De 3 en 3: a,b,c / a,c,b / b,a,c / b,c,a / c,a,b / c,b,a (3*2)/(3-3)! = 6 ----------------------------------------------- Además de lo dicho antes, Leosansan, ahí tienes un ejemplo sencillo. Repito: Esta fórmula da resultados cuando NO se repiten los elementos, e IMPORTA el orden. Título: Re: Problema con formula para generar permutaciones Publicado por: leosansan en 30 Diciembre 2013, 19:43 pm Siento contradecirte, amigo ivancea96 pero tienes un error de concepto básico. Si tienes tres elementos y los vas a tomar de 2 en 2, sin repetir e importando el orden -si no importara serían combinaciones- son variaciones y su fórmula es: Citar n!/(n-r)! Y aplicada al ejemplo que propones es: Citar 3!/(3-2)!=3!=6 Curioso, justo lo que te sale a tí, como dicen sonó la flauta ¿Dónde está tu error?. Es conceptual, en las permutaciones (http://es.wikipedia.org/wiki/Permutaci%C3%B3n)se tienen n elementos y se tomen n a n.Como ejemplo las permutaciones del conjunto {1,2,3] son: Citar 123 132 213 231 312 321 En un array de 3 elementos {a, b, c}. Cuantas formas hay de coger elementos de 2 en 2? a,b / a,c / b,c / b,a / c,a / c,b (3*2)/(3-2)! = 6 ----------------------------------- ¿Te das cuenta?. No estas tomando los tres elementos por tanto no son permutaciones, sino variaciones y la fórmula que aplicas es la de variaciones. Resumiendo, y a lo simple: * permutaciones de n elementos: se toman n a n e importa el orden. * variaciones de n elementos tomados r a r e importa el orden. *combinaciones de n elementos tomados r a r y no importa el orden. Aunque hay mucha información en la red esta (http://sauce.pntic.mec.es/~jpeo0002/Archivos/PDF/T01.pdf) referencia no está mal. Luego estan con repetición, pero eso no viene al caso ahora mismo. Espero que este rollito ta aclare las ideas. ;) ;) ;) ;-) ;-) Felices Navidades y Próspero Año Nuevo. ;-) ;-) ¡¡¡¡ Saluditos! ..... !!!! (http://st.forocoches.com/foro/images/smilies/aaaaa.gif) Título: Re: Problema con formula para generar permutaciones Publicado por: do-while en 2 Enero 2014, 19:01 pm Efectivamente, lo correcto es lo que ha dicho leosansan
De todas formas, el algoritmo para obtener todas las permutaciones de un conjunto de elementos es muy sencillo: Código:
Donde numero_datos, es el numero de datos que hay en conjunto_datos, y elementos_fijados indica cuantos elementos se han puesto ya en la permutación que se esta calculando. Una llamada seria por ejemplo: Código: permutaciones(lista,{a,b,c},3,0); Si hacemos la traza comprobaremos que efectivamente el algoritmo calcula todas las permutaciones posibles de los elementos a,b y c: Código: lista_permutaciones: vacia ¡Saludos! |