June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -0,0 +1,28 @@
|
|||
// version 1.1.2
|
||||
|
||||
fun biased(n: Int) = Math.random() < 1.0 / n
|
||||
|
||||
fun unbiased(n: Int): Boolean {
|
||||
var a: Boolean
|
||||
var b: Boolean
|
||||
do {
|
||||
a = biased(n)
|
||||
b = biased(n)
|
||||
}
|
||||
while (a == b)
|
||||
return a
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val m = 50_000
|
||||
val f = "%d: %2.2f%% %2.2f%%"
|
||||
for (n in 3..6) {
|
||||
var c1 = 0
|
||||
var c2 = 0
|
||||
for (i in 0 until m) {
|
||||
if (biased(n)) c1++
|
||||
if (unbiased(n)) c2++
|
||||
}
|
||||
println(f.format(n, 100.0 * c1 / m, 100.0 * c2 / m))
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue