Unbias a random generator: Difference between revisions

Content added Content deleted
(→‎{{header|Elixir}}: change :random -> :rand module)
(Added PowerShell)
Line 1,259: Line 1,259:
5 16 41
5 16 41
6 11 53
6 11 53
</pre>

=={{header|PowerShell}}==
{{works with|PowerShell|2}}
<lang PowerShell>
function randN ( [int]$N )
{
[int]( ( Get-Random -Maximum $N ) -eq 0 )
}
function unbiased ( [int]$N )
{
do {
$X = randN $N
$Y = randN $N
}
While ( $X -eq $Y )
return $X
}
</lang>
<lang PowerShell>
$Tests = 1000
ForEach ( $N in 3..6 )
{
$Biased = 0
$Unbiased = 0
ForEach ( $Test in 1..$Tests )
{
$Biased += randN $N
$Unbiased += unbiased $N
}
[pscustomobject]@{ N = $N
"Biased Ones out of $Test" = $Biased
"Unbiased Ones out of $Test" = $Unbiased }
}
</lang>
{{out}}
<pre>
N Biased Ones out of 1000 Unbiased Ones out of 1000
- ----------------------- -------------------------
3 322 503
4 273 518
5 217 515
6 173 486
</pre>
</pre>