Re: Rearrangement of a sequence into random order
- To: mathgroup at smc.vnet.net
- Subject: [mg28456] Re: Rearrangement of a sequence into random order
- From: Ignacio Rodriguez <ignacio at sgirmn.pluri.ucm.es>
- Date: Thu, 19 Apr 2001 03:26:49 -0400 (EDT)
- Organization: UCM
- References: <9bjg9m$gsn@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Try the following: randomizer[x_,y_]:=randomizer[x,y,Part[x,Random[Integer,{1,Length[x]}]]] /; Length[x]>0 randomizer[{x___,y_,z___},{a___},y_]:=randomizer[{x,z},{a,y}] generator[n_]:=Part[randomizer[Table[i,{i,1,n}],{}],2] The randomizer function works by taking a random element from the first list and adding it to the right of the second list, in two steps, until the first list is empty. For example, randomizer[{1,2,3},{}]->randomizer[{1,2,3},{},2]->randomizer[{1,3},{2}] Loren Dill wrote: > Hi, > > I'm a math teacher, and need to prepare exams from time to time. I > typically prepare questions for the exam in a sequential order starting at > the beginning of the material and going to the end. I may have something > like 20 short-answer questions. I want a program that will randomize the > order of the questions. In other words, I want to provide n, the number of > questions, and have the program provide a list of length n that contains all > the numbers from 1 to n in a random order without any number being repeated > or omitted. I'm sure that this is an easy task for Mathematica, but I can't > figure out the best way to do it. > > Loren Dill -- Ignacio Rodriguez Ramirez de Arellano Unidad de RMN Universidad Complutense Paseo Juan XXIII, 1 Madrid 28040, Spain Tel. 34-91-394-3288 Fax 34-91-394-3245 e-mail: ignacio at sgirmn.pluri.ucm.es