# Re: Progamming Challenge

```>        ============
>        LBL A
>        randInt (0,y)->X
>        L1(X)->A
>        0->L1(X)
>        sortd(L1)     <- this command sorts the list from high to low
>        y-1->y
>        GOTO A
>  This was a pretty simple way to solve my problem I thought. I didn't
actually
>  do anything with the number (variable A) but you could do whatever you
>  needed to. It basically took all the numbers I accessed and changed them to
zero,
>  then sorted them from high to low and made the next randomized pass only
>  with the non-zero numbers (which hadn't been used). So if anyone has any
>  questions or just comments I would appreciate it.
>  runor49@aol.com

This is a refreshingly different method.  Unfortunately, it seems that you need
to sort the full list once for each new card you draw, which might slow things
down a bit. It does bring to mind, however, a similar list-oriented method,
this one using the capability inorporated into more recent TI-8x models of
sorting a _second_ list along with the primary list you are sorting, in the
same order.  Since we want to sort 60 cards, fill L2 with the numbers 1 to 60.
Fill list L1 with 60 randomly-generated numbers.  Then sort list L1, and list
L2 in the _same order_ while you are doing it.
Bingo!

The lesson here is that you should always try to take advantage, and make
creative use, of all of the features available in whatever programming
environment you are in.  It is often possible to come up with new,
unplanned-for uses of features, which may allow you to cut some corners.

In general I am impressed by the creativity shown by the group's responses to
questions such as the current one.  To the extent that this could be taken to
represent the general level of "computer literacy" (whatever that is!) we have
come a long ways in the last 20 years.  I can remember serious proposals, from
commercially-successful programmers, that the sort of randomization task
currently being discussed be performed by simply repeatedly picking random
numbers and discarding ones that have already been used.  This sort of code was
actually built into their programs.  It's not only faster processors we have