dab, abd, adb, bda, dba, ... all the same combination.

On 1/25/06, Merrill, Jason <[EMAIL PROTECTED]> wrote:
>
> Aren't there 256 possible combinations?  Or if one value can be null,
> then 625?  What about dab, cab, bac, da, ca, etc?  Or are you saying for
> the sake simplicity, cab is the same combination as abc and dab the same
> as abd?
>
> Jason Merrill   |   E-Learning Solutions   |  icfconsulting.com
>
>
>
>
>
>
>
>
>
>
> >>-----Original Message-----
> >>From: [EMAIL PROTECTED] [mailto:flashcoders-
> >>[EMAIL PROTECTED] On Behalf Of Andreas Weber
> >>Sent: Wednesday, January 25, 2006 2:21 PM
> >>To: Flashcoders mailing list
> >>Subject: RE: [Flashcoders] checking combinations
> >>
> >>Seems to be an ispiring question/problem!
> >>
> >>Eric - if you'd go with the combo - Strings - these are the 16
> possible
> >>combinations:
> >>
> >> ,a,ab,abc,abcd,abd,ac,acd,ad,b,bc,bcd,bd,c,cd,d
> >>
> >>(first one is an empty string if a && b && c && d are false)
> >>
> >>I'm not overly proud of how I found the combinations, but sometimes
> nothing
> >>beats brute force :-)
> >>
> >>
> >>arr = ['a','b','c','d'];
> >>numElems = arr.length;
> >>
> >>combos = new Array();
> >>
> >>c=0;
> >>while(c<100000){
> >>      combo = '';
> >>      for(var i=0; i<numElems; i++){
> >>              if(Math.random() < 0.5){
> >>                      combo += arr[i];
> >>              }
> >>      }
> >>      inArray = false;
> >>      for(var i=0, len=combos.length; i<len; i++){
> >>              if(combo == combos[i]){
> >>                      inArray = true;
> >>                      break
> >>              }
> >>      }
> >>      if(!inArray){
> >>              combos.push(combo);
> >>      }
> >>
> >>      c++;
> >>}
> >>combos.sort();
> >>trace(combos);
> >>trace(combos.length);
> >>
> >>
> >>--------------
> >>Andreas Weber
> >>motiondraw.com
> >>
> >>
> >>
> >>-----Original Message-----
> >>From: [EMAIL PROTECTED]
> >>[mailto:[EMAIL PROTECTED] Behalf Of Martin
> >>Wood
> >>Sent: Wednesday, January 25, 2006 8:05 PM
> >>To: Flashcoders mailing list
> >>Subject: Re: [Flashcoders] checking combinations
> >>
> >>
> >>i've got to go out now so cant give the full answer i have in my head,
> >>but one way of tackling it is to make each state variable's value a
> >>power of 2
> >>
> >>a = 1
> >>b = 2
> >>c = 4
> >>d = 8
> >>
> >>then you know that any combination of them has a unique value. (its
> >>basically a 4 bit number)
> >>
> >>then to handle the dispatch depending on the state combination you can
> >>build a function table.
> >>
> >>functionTable = new Array();
> >>
> >>// create a handler for the combination a + b
> >>functionTable[a + b] = Delegate.create(this,combinationAB);
> >>
> >>and when you check the variables just call the function directly from
> >>the table :
> >>
> >>// a,b,c,d are just passed as boolean flags here
> >>function handleUpdate(a:boolean,b:boolean,c:boolean,d:boolean)
> >>{
> >>      // taking advantage of a true being 1 in flash
> >>      // and ideally you would setup these numbers
> >>      // as static class variables
> >>      var state = a + (b * 2) + (c * 4) + (d * 8);
> >>
> >>      // call the defined function
> >>      functionTable[state]();
> >>}
> >>
> >>of course you could do a check first to see if the function is defined
> >>and do something like log a warning or whatever is appropriate for
> your
> >>situation.
> >>
> >>hope that makes sense.
> >>
> >>martin
> >>
> >>
> >>_______________________________________________
> >>Flashcoders mailing list
> >>[email protected]
> >>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> NOTICE:
> This message is for the designated recipient only and may contain
> privileged or confidential information. If you have received it in error,
> please notify the sender immediately and delete the original. Any other use
> of this e-mail by you is prohibited.
> _______________________________________________
> Flashcoders mailing list
> [email protected]
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to