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

1.9 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5900f5221000cf542c510033 問題 436: 不公平な賭け 5 302107 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 を返す必要があります。

assert.strictEqual(unfairWager(), 0.5276662759);

--seed--

--seed-contents--

function unfairWager() {

  return true;
}

unfairWager();

--solutions--

// solution required