Files
freeCodeCamp/curriculum/challenges/japanese/10-coding-interview-prep/project-euler/problem-436-unfair-wager.md
2022-01-23 00:08:20 +09:00

57 lines
1.9 KiB
Markdown

---
id: 5900f5221000cf542c510033
title: '問題 436: 不公平な賭け'
challengeType: 5
forumTopicId: 302107
dashedName: problem-436-unfair-wager
---
# --description--
ジュリーは、姉のルイーズに次のような賭けを提案しました。
誰が皿を洗うかを決めるために、運で決まるゲームをするというものです。
このゲームでは、0 から 1 の間に一様に分布する独立的な乱数を作る生成器を使います。
ゲームは $S = 0$ から開始します。
先手であるルイーズは、生成器から得られるさまざまな乱数を $S$ に加えていき、$S > 1$ になったら止め、最後の乱数 '$x$' を記録します。
後手のジュリーは、生成器から得られる色々な乱数を引き続き $S$ に加えていき、$S > 2$ になったら止め、最後の乱数 '$y$' を記録します。
最大の数を記録した方が勝ち、負けた方は皿洗いをします。すなわち、$y > x$ であれば後手の勝ちです。
例えば、先手が生成器から 0.62 と 0.44 を得た場合、$0.62 + 0.44 > 1$ なので先手のターンが終わり、$x = 0.44$ となります。 後手が 0.1, 0.27, 0.91 を得た場合、$0.62 + 0.44 + 0.1 + 0.27 + 0.91 > 2$ なので後手のターンが終わり、$y = 0.91$ となります。 $y > x$ なので後手の勝ちです。
ルイーズは少し考えてから、「不公平だわ」と抗議しました。
後手が勝つ確率を求めなさい。 回答は、四捨五入して小数第 10 位まで求め、0.abcdefghij の形式にすること。
# --hints--
`unfairWager()``0.5276662759` を返す必要があります。
```js
assert.strictEqual(unfairWager(), 0.5276662759);
```
# --seed--
## --seed-contents--
```js
function unfairWager() {
return true;
}
unfairWager();
```
# --solutions--
```js
// solution required
```