SoloCodigo
Programación Específica => Diseño de Algoritmos => Mensaje iniciado por: cristina_ en Sábado 15 de Agosto de 2009, 00:13
-
Chicos alguno de ustedes me puede ayudar con este algoritmo:
la idea es que forme grupos de letras (de dos grupos de 4 ) de minimo 3 caracteres y maximo 8, ningun caracter se debe repetir salvo en este ejemplo la letra A porq esta en ambos grupos
por ejemplo:
R A L V
M A G U
y forme
RAL
RAV
ALV
LAR
.......
ojala me puedan ayudar :D
-
No he entendido nada de lo que debe hacer el algoritmo. Sólo veo combinaciones de letras de la primera "palabra" que has puesto.
-
No he entendido nada de lo que debe hacer el algoritmo. Sólo veo combinaciones de letras de la primera "palabra" que has puesto.
no eres el único :huh:
-
:( nadie me entiende
otra vez
como haría para:
ingresan 2 cadenas, por ejemplo: A="tren" B="rail" y el numero mínimo de caracteres en la nueva cadena a formar en este caso la variable "C"
el programa debe empezar a combinar las letras de A y B pero formando una nueva cadena de mínimo "C" caracteres por ejemplo, si "C" es 3
tre, trn, ren, trn, rtn,................ y máximo combinando todos los caracteres (q formaría una cadena 8)
la restricción es q no se toma un carácter mas de una vez (al menos q se repita en las cadenas, en este caso, la letra r esta en ambas cadenas)
ahora si se entiende :(
gracias por su tiempo
-
Esto es un simple problema de combinatoria que puedes resolver en 3 fases. Sin entrar en asuntos de programación, sólo usando matemáticas deberías conocer como aplicarlo...
1 -A - Dados dos grupos de 4 elementos, hallar cuantas combinaciones de 3 elementos pueden formarse.
Este es el problema base, luego al resultado hay que restarle las combinaciones que se forman cuando los 3 elementos son de un único grupo, excepto que aparezca en ambos grupos.
2 - B - Esto es, hallar cuantas combinaciones de 3 elementos (incluso con repetición) puede formarse en ambos grupos.
3 - C - Hallar cuantas de las combinaciones de B, sin repeticion de elementos, tienen 1 elemento que pertenece a ambos grupos.
El resultado será la suma de = A - B + C.
Si el algoritmo es matemático son 3 fórmulas, si no, todavía puedes resolverlo por programación a base de bucles y condicionales aunque el código será menos óptimo.