Unbias a random generator: Difference between revisions

Content added Content deleted
m (→‎{{header|Java}}: Typo in output)
(Added PicoLisp)
Line 106: Line 106:
Unbiased 1 percentage: 49.3
Unbiased 1 percentage: 49.3
Unbiased 0 percentage: 50.7</pre>
Unbiased 0 percentage: 50.7</pre>

=={{header|PicoLisp}}==
<lang PicoLisp>(de randN (N)
(if (= 1 (rand 1 N)) 1 0) )

(de unbiased (N)
(use (A B)
(while
(=
(setq A (randN N))
(setq B (randN N)) ) )
A ) )</lang>
Test:
<lang PicoLisp>(for N (range 3 6)
(tab (2 1 7 2 7 2)
N ":"
(format
(let S 0 (do 10000 (inc 'S (randN N))))
2 )
"%"
(format
(let S 0 (do 10000 (inc 'S (unbiased N))))
2 )
"%" ) )</lang>
Output:
<pre> 3: 33.21 % 50.48 %
4: 25.06 % 49.79 %
5: 20.04 % 49.75 %
6: 16.32 % 49.02 %</pre>


=={{header|Python}}==
=={{header|Python}}==