SoloCodigo

Programación Específica => Diseño de Algoritmos => Mensaje iniciado por: cristina_ en Sábado 15 de Agosto de 2009, 00:13

Título: ayuditaaaaaaaaaaaa
Publicado 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
Título: Re: ayuditaaaaaaaaaaaa
Publicado por: m0skit0 en Lunes 24 de Agosto de 2009, 10:43
No he entendido nada de lo que debe hacer el algoritmo. Sólo veo combinaciones de letras de la primera "palabra" que has puesto.
Título: Re: ayuditaaaaaaaaaaaa
Publicado por: eternity en Lunes 24 de Agosto de 2009, 13:17
Cita de: "m0skit0"
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:
Título: Re: ayuditaaaaaaaaaaaa
Publicado por: cristina_ en Lunes 24 de Agosto de 2009, 17:22
:(  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
Título: Re: ayuditaaaaaaaaaaaa
Publicado por: Nebire en Jueves 10 de Septiembre de 2009, 15:10
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.