"H. Peter Anvin" <hpa@[EMAIL PROTECTED]
> wrote in message
news:48810604.6070103@[EMAIL PROTECTED]
> Rod Pemberton wrote:
> >
> > Houston, we have a problem... It appears that's combinations
(un-ordered
> > set).
> >
>
> Right, nPm = n!/(n-m)!.
>
> > A deck order of 1,2,3,4,5 is distinctly different from a deck order of
> > 2,5,4,1,3. The game needs to keep track of the deck order. The
remaining
> > five cards could be 1,50,23,37,9. I'd think we'd want permutations
(ordered
> > sets). For 52 cards:
> >
> > 52!=52*51*... = (big number Wolf posted)
> >
> > For five cards remaining:
> >
> > 5*4*3*2*1 / 1! = 120
> >
> > So, I asked: if 1,2,3,4,5 is ranked as first of 120 permutations of
> > 1,2,3,4,5, and all permutations are ranked from 1 to 120, what
permutation
> > out of 120 is 2,5,4,1,3? (I used example value 33.) Is there a way
to
> > generate the permutation from this rank number? Or, vice versa?
>
> There is, it's just awkward.
>
> In the case of the card deck, take the permutation number P:
>
> Make a list, deck[] of all the cards.
>
> card[0] = deck[P mod 52]
> P <- P div 52
If P can be 1...120, and P is < 52, div underflows... Yes?
> Remove card[0] from deck[].
>
....?...?
There are not 52 cards left, but 5 left. You know what their values
are:1,2,3,4,5, but you don't know their order. They could be 1,2,3,4,5 or
1,2,3,5,4 or 1,2,4,3,5, or 1,2,4,5,3, etc. etc. Since you don't know
their
order, you'd like represent them as a deck of 5 cards ordered 1,2,3,4,5
and
a use some method to order them properly. Now, you need some way to
represent their actual order and a way generate it. Is there a value that
can represent of each of these orders? Is there a method to generate each
of these orders given that value? E.g.,
zxcv(Q), Q=1, zxcv(1)=1,2,3,4,5
zxcv(Q), Q=2, zxcv(2)=1,2,3,5,4
zxcv(Q), Q=3, zxcv(3)=1,2,4,3,5
zxcv(Q), Q=4, zxcv(4)=1,2,4,5,3
etc.
RP
(Okay, I think it's time to let this question go...)


|