2018-05-08 コイン投げ 確率 フォン・ノイマン Go言語 シミュレーション
https://play.golang.org/p/_01Ho_awkYO
package main
import (
"fmt"
"math/rand"
)
func biasedCoin() string {
if rand.Intn(5) == 0 {
return "H" // 1/5
} else {
return "T" // 4/5
}
}
func unbiasedCoin() string {
for {
switch biasedCoin() + biasedCoin() {
case "HT":
return "H"
case "TH":
return "T"
default:
// retry
}
}
}
2018-05-08 コイン投げ 確率 フォン・ノイマン Go言語 シミュレーション