Algoritmia - Combinaciones posibles

 
Vista:

Combinaciones posibles

Publicado por Daniela (1 intervención) el 05/10/2004 00:14:41
Necesito un algoritmo para hacer lo siguiente: generar las combinaciones posibles con 3 valores de una determinada longitud. por ejemplo si la longitud es 4 generar: 1111 - 1112 - 1113 - 1121 - 1122 - 1123 - 1131 - 1132 - 1133 - 1211...ideas? muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Combinaciones posibles

Publicado por Hugo Alberto (4 intervenciones) el 06/10/2004 00:12:20
Hola DANIELA

Disculpá, pero no entiendo tu planteo,,, podrías aclarar un poco más por favor a ver si te ayudo.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Combinaciones posibles

Publicado por Carlos (1 intervención) el 09/02/2005 18:27:56
Hola, yo necesito un algoritmo similar. Creo que Daniela necesita un algoritmo que enumere todas las combinaciones posibles de una serie de números, no solo la cantidad de combinaciones.
Ejemplo, si te doy los números, 1,2,3, necesito hacer todas las permutas posibles> 123, 231, 321, 132, 312, 213 (son 6) Si alguien tiene alguna idea de como hacer esto para más números, me sería de gran ayuda, ejemplo, si te doy 7 números... ya son muchas posibilidades para hacerlo a la mano...
Recuerden cambiar mi corre es @hotmail.com, es para evitar el spam, :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Combinaciones posibles

Publicado por Fernando (1 intervención) el 15/02/2005 17:58:56
Hola Daniela,
Te voy a explicar la solución, la cual también se puede generalizar al caso que describe Carlos. A ver si eres capaz de programarlo. Si no eres capaz, te paso el pseudocodigo.

Premisas:
- cada combinación la obtenemos en un mismo string, el cual iremos actualizando para obtener la siguiente combinación.
- Para un string de longitud n, el acceso al primer caracter seria string[1], y al útimo string[n]

Debes crear un bucle (Bucle1) el cual en cada iteración obtenga una combinación, es decir, por cada
iteración de Bucle1 obtenemos una única combinación.
Comienzo de bucle1: string --> 111...10 (atención al 0)
Fin de bucle1: string --> 333...33

Para obtener las combinaciones, en cada iteración de Bucle1 debes recorrer los caracteres del string, estableciendo en cada uno de ellos el dígito adecuado (1, 2 o 3). La cuestión es: ¿qué dígito poner en cada caracter?

Es sencillo, existe una relación entre el número de iteraciones que llevamos del Bucle1 (la 1ª iteración es 1) y qué dígito
poner en cada carácter del string.
Relación: Si estamos tratando el caracter string[x], debemos incrementar el valor de dicho caracter cada "3 elevado a (n-x)" iteraciones, donde
n = longitud del string, y
3 = número de valores con que estamos trabajando.
Se entiende que incrementar 3 es volver al 1.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar