Algoritmo

Es increíble que no encuentro en internet un algorimo que simplemente genere una permutación aleatoria.
¿Puede ayudarme a hacer un
algoritmo general para n elementos?
Ejemplo 01234->32024
Ja, ¿ja elaboré uno para n=3 en excel
haber que le parece?
A1 =ENTERO(ALEATORIO()*3)
B1 =RESIDUO(A1+ENTERO(ALEATORIO()*2),3)
C1 =RESIDUO((3-A1-B1),4)
D1 =ENTERO(ALEATORIO()*4)
A2 =RESIDUO(D1+A1,4)
B2 =RESIDUO(D1+B1,4)
C2 =RESIDUO(D1+C1,4)
D2 =(6-A2-B2-C2)
Sin embargo este veo que lo hice
Muy complicado como para generalizarlo.
Gracias

2 Respuestas

Respuesta
1
Yo te puedo ayudar a hacer ese algoritmo, te lo puedo pasar en español o en lenguaje pascal, o qbasic, cualquier cosa me escribes aquí o a [email protected]
Respuesta
-1
Primero que todo, un algoritmo no se elabora en un lenguaje (EXCEL en tu caso), sino que es una secuencia finita de pasos que resuelven un problema. Ahora, los algoritmos se implementan en lenguajes, tratare de darte uno lo más general y sencillo posible:
1-)Enumera los elementos que quieres permutar.
2-)Crea una lista L.
3-)Genera un numero aleatorio (#) entre 1 y n (incluidos).
4-)Si # no esta en la lista L, annadelo. Si esta, ve al paso 3.
Repite los pasos 3 y 4 hasta que la lista L tenga n elementos.
Al final, L va a contener una lista de números, y como los elementos a permutar van a estar anumerados, estos números definen la permutacion.
Creo que esta sencillo si tienes algún conocimiento básico de programación, y como implementaste algo en Excel, creo que si lo tienes.
Exacto,
No es, algoritmo el que escribí,
sino un programa a partir de mi algoritmo. Mil perdones.
Pasando a otra cosa,
no señor,
tu algoritmo no es tan fácil,
te reto a que lo implementes
A excel, así como yo lo hice.
Lo digo porque, no es tan sencillos
Los conceptos como,
"annadelo" y el " si está"
De todos modos mis sinceras gracias!
Siento mucho que no te haya servido de ayuda mi respuesta, pero es que de verdad no pensé que fueras a implementar eso en EXCEL. No creo que sea lo mejor (incluso no se si es posible). Si te hace falta aplicar ese algoritmo a una tabla o algo así de EXCEL, crea una macro en Visual basic, que es un lenguaje más apropiado para eso.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas