# Question:Maplet for Unique Random Number Generator

## Question:Maplet for Unique Random Number Generator

Maple

This is a continuation of the new thread that was started with this post.

Code to create a maplet that generates unique random numbers from a sample space could look like:

```restart:
with(Maplets[Tools]):
with(Maplets[Elements]):
StartEngine();
randomize():

UniqueRandom := proc( n, N )
local R, S;
R := rand( N );
S := {};
while nops(S)<n do
S := { seq(R(),i=1..n) };
end do;
return( S );
end proc:

myMaplet :=Maplet(onstartup=RunWindow(MAIN),
Window[MAIN](title="Unique Random Number Generator",
[ halign=none, valign=none, inset=0, spacing=0,
[
"Largest Integer in Sample Space: N = ",
TextField['TFN']("10^20", width=8),
"Selection Size: n = ",
TextField['TFn']("10", width=4)
],
[
TextBox['TBresult']("", width=75,height=8)
],
[
Button['DoIt']("Generate", Evaluate('TBresult' = 'UniqueRandom(TFn,TFN)'), background=green),
Button['Done']("Done", Shutdown(['TBresult']), background=pink)
]
]
)
):
Maplets[Display]( myMaplet );

```

You can put this code in a Maple worksheet and execute it. You can also put it in a text file, with extension .maplet. Then, double-clicking on this file will launch the maplet using the Maplet Viewer. (Note that the first maplet started can take a longer time to start due to the time required to start a Java engine.)

Doug

﻿