alle mogeleke combinaties berekenen

Pagina: 1
Acties:
  • 7.729 views sinds 30-01-2008

Acties:
  • 0 Henk 'm!

Anoniem: 108644

Topicstarter
Hoe berekenen je alle mogelijke combinaties van ABCD, elke letter mag 1 keer voorkomen.

dus bijvoorbeeld:
ABCD
ABDC
ADCB
DCBA

De enige mogelijkheid die ik tegen ben gekomen is binair alle mogelijkheden langs gaan. met 4 letters is dit wel mogelijk, maar als je er 26 hebt duurt het wel even.

Acties:
  • 0 Henk 'm!

  • woekele
  • Registratie: Juni 2002
  • Niet online

woekele

woekele

-edit-

never mind :p

[ Voor 93% gewijzigd door woekele op 24-11-2006 13:47 ]


Acties:
  • 0 Henk 'm!

  • J2pc
  • Registratie: Oktober 2002
  • Niet online

J2pc

UT Tux Edition

4!

"The computer is incredibly fast, accurate, and stupid. Man is unbelievably slow, inaccurate, and brilliant. The marriage of the two is a challenge and opportunity beyond imagination." © Stuart G. Walesh


Acties:
  • 0 Henk 'm!

  • Zyppora
  • Registratie: December 2005
  • Laatst online: 25-04 16:24

Zyppora

155/50 Warlock

http://nl.wikipedia.org/wiki/Faculteit_%28wiskunde%29

4 verschillende tekens:
4 * 3 * 2 * 1 = 24 mogelijkheden met ABCD.

Phenom II X4 945 \\ 8GB DDR3 \\ Crosshair IV Formula \\ R9 290


Acties:
  • 0 Henk 'm!

  • PetersNL
  • Registratie: Juli 2005
  • Laatst online: 29-04 21:09
Ik ben absoluut geen ster in wiskunde, maar is de berekening hiervoor niet: 26*25*24*23?

/Edit: Ik lees weer es ni goed :+
Dat van mij is voor alle letters van het alfabet. Antwoord moet zijn: 4*3*2*1=24

[ Voor 40% gewijzigd door PetersNL op 24-11-2006 13:50 ]


Acties:
  • 0 Henk 'm!

  • J2pc
  • Registratie: Oktober 2002
  • Niet online

J2pc

UT Tux Edition

dat is een combinatie van 4 letters uit het alfabet waarbij iedere letter maar 1 keer voor mag komen. Het idee hier was toch alleen met ABCD alle mogelijke combi's te maken?

(of ik zit fout, en dan is het idd 26*25*24*23)

/spuit11 :+

[ Voor 3% gewijzigd door J2pc op 24-11-2006 13:50 ]

"The computer is incredibly fast, accurate, and stupid. Man is unbelievably slow, inaccurate, and brilliant. The marriage of the two is a challenge and opportunity beyond imagination." © Stuart G. Walesh


Acties:
  • 0 Henk 'm!

  • MisterData
  • Registratie: September 2001
  • Laatst online: 15-05 17:32
Google maar eens op permutaties en combinaties :)

Acties:
  • 0 Henk 'm!

Anoniem: 108644

Topicstarter
het aantal mogelijkheden is inderdaad 4!

maar ik wil alle mogelijkheden in een loopje langsgaan. hoe doe ik dit?
of is er een bepaalde naam voor dit algotirme waar ik op kan zoeken?

[ Voor 26% gewijzigd door Anoniem: 108644 op 24-11-2006 13:55 ]


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 03:11
Om te beginnen: het gaat om permutaties (niet combinaties) van A, B, C, D. Het aantal permutaties van 4 elementen is inderdaad 4! (spreek uit: 4 faculteit), maar ik krijg de indruk dat de TS ze allemaal wil genereren.

Acties:
  • 0 Henk 'm!

  • hammerhead
  • Registratie: April 2000
  • Laatst online: 07:55
Voor het genereren van permutaties zijn toch ook permutatieGenerators voor de meeste talen dacht ik. Weet niet welke taal de TS gebruikt, maar heb zelf ooit een generator voor Java gebruikt.

Aviation is proof that given the will, we have the capacity to achieve the impossible.
--Eddie Rickenbacker


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 03:11
Je kunt permutaties recursief genereren; zoiets bijvoorbeeld:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int used[4], perm[4];

void search(int n)
{
    /* Kies het symbool op positie 'n' */

    if(n == 4)
    {
        /* 4 symbolen geplaatst; geef permutatie weer. */
        printf( "Permutatie gevonden: %d %d %d %d",
                 perm[0], perm[1], perm[2], perm[3] );
    }
    else
    {
        /* Kies een ongebruikt symbool vooor positie n. */
        for(perm[n] = 0; perm[n] < 4; ++perm[n])
            if(!used[perm[n]])
            {
                used[perm[n]] = true;
                search(n + 1);
                used[perm[n]] = false;
            }
    }
}

search(0);

Er zijn ook efficiëntere algoritmen, maar voor vier elementen werkt dit goed genoeg.

[ Voor 5% gewijzigd door Soultaker op 24-11-2006 14:02 ]


Acties:
  • 0 Henk 'm!

Anoniem: 108644

Topicstarter
permutaties is inderdaad het zoekwoord dat ik zocht.

de 4 letters waren een voorbeeld. in mijn geval zijn het 100 tot 150 opties die ik moet combineren (na ja, permuteren). Ik ga met deze informatie op zoek naar een optimaal algortime.

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:51
Dit heeft eigenlijk niets met Programming te maken; eerder met wiskunde en statistiek.

Zoals reeds gezegd: zoek eens op combinatie-leer, permutaties etc...

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.