fn main() {
let p = search(6);
println!("先手が死ぬ確率 : {:.03}", p);
println!("後手が死ぬ確率 : {:.03}", 1.0 - p);
}
fn search(rem: u32) -> f64 {
if rem == 0 {
0.0
} else {
let p = 1.0 / rem as f64;
p + (1.0 - search(rem - 1)) * (1.0 - p)
}
}
Zm4gbWFpbigpIHsKICAgIGxldCBwID0gc2VhcmNoKDYpOwogICAgcHJpbnRsbiEoIuWFiOaJi+OBjOatu+OBrOeiuueOhyA6IHs6LjAzfSIsIHApOwogICAgcHJpbnRsbiEoIuW+jOaJi+OBjOatu+OBrOeiuueOhyA6IHs6LjAzfSIsIDEuMCAtIHApOwp9CgpmbiBzZWFyY2gocmVtOiB1MzIpIC0+IGY2NCB7CiAgICBpZiByZW0gPT0gMCB7CiAgICAgICAgMC4wCiAgICB9IGVsc2UgewogICAgICAgIGxldCBwID0gMS4wIC8gcmVtIGFzIGY2NDsKICAgICAgICBwICsgKDEuMCAtIHNlYXJjaChyZW0gLSAxKSkgKiAoMS4wIC0gcCkKICAgIH0KfQo=