Hola, pues mira con esto te salen las combianciones de una palabra..
saludos.
Código
Private Sub Combinaciones(Palabra As String, Optional strFixed As String) Dim Recorrer As Integer If Len(Palabra) <> 1 Then For Recorrer = 1 To Len(Palabra) Combinaciones Left$(Palabra, Recorrer - 1) & Mid$(Palabra, Recorrer + 1), strFixed & Mid$(Palabra, Recorrer, 1) Next Recorrer Else List1.AddItem strFixed & Palabra End If End Sub Private Sub Form_Load() Call Combinaciones("Hola") End Sub
saludos.
solo lo que se deberia agregar, es que para saber la cantidad de convinacion de una serie de letras, numeros, etc. por ejemplo:
Código:
La vida es dura pero el desaliente es aterno
Para saber la convinacion que se puedan realizar de todos estos caracteres y espacios (aun que sean repetidos) solo se debe contar el numero total y multiplicar por sus antesesores es decir:
la longitud es de 44 letras
Se multiplicaria
Código:
44x43x42x41x40x39...x5x4x3x2x1 o en forma matematica "44!".
El Total es de:
2.658271575x1054 combinaciones (son bastantes no)
en algo mas sencillo como
Código:
Lucifer
el total de las letras son 7
así que se multiplicaria
7x6x5x4x3x2x1=5040 combinaciones sin repetir
Código:
lucifer
lucifre
luciefr
lucierf
lucirfe
luciref
lucfier
lucfire
lucfeir
lucferi
lucfrie
lucfrei
lciefru
lcieruf
lcierfu
lcirufe
lciruef
lcirfue
lcirfeu
lcireuf
lcirefu
lcfuier
lcfuire
lcfueir
lcfueri
lcfurie
lcfurei
lcfiuer
lcfiure
lcfieur
lcfieru
lcfirue
lcfireu
lcfeuir
lcfeuri
lcfeiur
lcfeiru
lcferui
lcferiu
lcfruie
lcfruei
lcfriue
lcfrieu
lcfreui
lcfreiu
lceuifr
lceuirf
lceufir
lceufri
lceurif
lceurfi
lceiufr
lceiurf
lceifur
lceifru
lceiruf
lceirfu
lcefuir
lcefuri
lcefiur
lcefiru
lcefrui
lcefriu
lceruif
lcerufi
lceriuf
lcerifu
lcerfui
lcerfiu
lcruife
lcruief
lcrufie
lcrufei
lcrueif
lcruefi
lcriufe
lcriuef
lcrifue
lcrifeu
lcrieuf
lcriefu
lcrfuie
lcrfuei
lcrfiue
lcrfieu
lcrfeui
lcrfeiu
lcreuif
lcreufi
lcreiuf
lcreifu
lcrefui
lcrefiu
liucfer
liucfre
... y faltan mas ¬¬"