webForumDet fria alternativet

Lurig LOOP

2 svar · 283 visningar · startad av Sjodahl

SjodahlMedlem sedan maj 20033 218 inlägg
#1

Hej!

Behöver hjälp med en lurig loop.

Har en array som innehåller bokstäverna a-z.
Det jag vill göra är att loopa fram typ.

a
b
c
...
z

aa
ab
ac
...
az

aaa
aab
.....
aba
abb
abc

osv..

Alltså loopa igenom alla kombinationer med 5 tecken långt!

cynerMedlem sedan juni 20053 inlägg
#2

Det enklaste, men också fulaste, är väl att göra fem nästlade loopar. Nu kan jag inte Javascript så bra, men i pseudo-kod/Python:

abc = "abcdef ... z"
combinations = []

for L1 in abc:
   for L2 in abc:
      for L3 in abc:
         for L4 in abc:
            for L5 in abc:
               combinations.append(L1+L2+L3+L4+L5)

Då får du alla kombinationer med fem tecken. Gör samma sak för fyra, tre, två osv. (En nästlad loop per tecken.)

Den snygga, men mer komplexa lösningen -- som jag inte minns riktigt -- är att använda en enda rekursiv funktion.

SjodahlMedlem sedan maj 20033 218 inlägg
#3

hmm får ta en titt på det, men min tanke har med varit att man behöver en extra loop för varje tecken, men om man inte vet hur många tecken man vill ha ... Men återkommer, har det lite tajt med tid just nu ;)

128 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)