/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Permutationer
Fra : Jimmy


Dato : 01-07-04 06:49

Hej

Jeg har en streng med bogstaverne fra a-z.
Jeg vil gerne udskrive samtlige fem-tegns kombinationer, hvor man gerne må
genbruge bogstaverne.

Jeg kan ikke komme i gang med det, og vil gerne have et par ord om, hvordan
man bør gribe det meste effektivt an.

Mvh
Jimmy



 
 
Thomas Lindgaard (01-07-2004)
Kommentar
Fra : Thomas Lindgaard


Dato : 01-07-04 12:49

On Thu, 01 Jul 2004 07:49:26 +0200, Jimmy wrote:

> Jeg har en streng med bogstaverne fra a-z.
> Jeg vil gerne udskrive samtlige fem-tegns kombinationer, hvor man gerne må
> genbruge bogstaverne.

Øhm, er du sikker på at du gerne vil skrive _samtlige_ kombinationer ud?

Hvis du har bogstaverne fra a til z (altså 25 bogstaver) og gerne vil
skrive alle kombinationer:

aaaaa
aaaab
...
zz

Så har du 25*25*25*25*25 = 25^5 = 9765625 ~ 10 millioner muligheder.

> Jeg kan ikke komme i gang med det, og vil gerne have et par ord om,
> hvordan man bør gribe det meste effektivt an.

Der er ingen effektiv måde at gøre det på. Men følgende vil gøre det
hurtigst muligt:

$letters = array('a', 'b', ..., 'z');
foreach ($letters as $first) {
foreach ($letters as $second) {
foreach ($letters as $third) {
foreach ($letters as $fourth) {
foreach ($letters as $fifth) {
print $first.$second.$third.$fourth.$fifth."\n";
}
}
}
}
}

Hvis din streng i stedet er et ord - f.eks. missetand - så skal du først
sørge for at hvert bogstav kun forekommer een gang - ellers vil der blive
udskrevet dubletter.

--
Mvh.
/Thomas


Bertel Lund Hansen (01-07-2004)
Kommentar
Fra : Bertel Lund Hansen


Dato : 01-07-04 17:00

Thomas Lindgaard skrev:

>Hvis du har bogstaverne fra a til z (altså 25 bogstaver)

Der er endda nogle der påstår at der er 26 bogstaver. Det giver
11 mio. muligheder.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Thomas Lindgaard (01-07-2004)
Kommentar
Fra : Thomas Lindgaard


Dato : 01-07-04 22:51

On Thu, 01 Jul 2004 17:59:50 +0200, Bertel Lund Hansen wrote:

>>Hvis du har bogstaverne fra a til z (altså 25 bogstaver)
>
> Der er endda nogle der påstår at der er 26 bogstaver. Det giver
> 11 mio. muligheder.

Mjaeh mjoeh - det må være et af de dér plus/minus-1-problemer der
findes så mange af i programmering :)

--
Mvh.
/Thomas


Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408851
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste