2.7 KiB
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
5900f5021000cf542c510015 | Problem 406: Guessing Game | 5 | 302074 | problem-406-guessing-game |
--description--
We are trying to find a hidden number selected from the set of integers {1, 2, ..., n
} by asking questions. Each number (question) we ask, we get one of three possible answers:
- "Your guess is lower than the hidden number" (and you incur a cost of a), or
- "Your guess is higher than the hidden number" (and you incur a cost of b), or
- "Yes, that's it!" (and the game ends).
Given the value of n
, a
, and b
, an optimal strategy minimizes the total cost for the worst possible case.
For example, if n = 5
, a = 2
, and b = 3
, then we may begin by asking "2" as our first question.
If we are told that 2 is higher than the hidden number (for a cost of b = 3
), then we are sure that "1" is the hidden number (for a total cost of 3).
If we are told that 2 is lower than the hidden number (for a cost of a = 2
), then our next question will be "4".
If we are told that 4 is higher than the hidden number (for a cost of b = 3
), then we are sure that "3" is the hidden number (for a total cost of 2 + 3 = \color{blue}{\mathbf{5}}
).
If we are told that 4 is lower than the hidden number (for a cost of a = 2
), then we are sure that "5" is the hidden number (for a total cost of 2 + 2 = \color{blue}{\mathbf{4}}
).
Thus, the worst-case cost achieved by this strategy is 5. It can also be shown that this is the lowest worst-case cost that can be achieved. So, in fact, we have just described an optimal strategy for the given values of n
, a
, and b
.
Let C(n, a, b)
be the worst-case cost achieved by an optimal strategy for the given values of n
, a
, and b
.
Here are a few examples:
\begin{align}
& C(5, 2, 3) = 5 \\\\
& C(500, \sqrt{2}, \sqrt{3}) = 13.220\\,731\\,97\ldots \\\\
& C(20\\,000, 5, 7) = 82 \\\\
& C(2\\,000\\,000, √5, √7) = 49.637\\,559\\,55\ldots \\\\
\end{align}$$
Let $F_k$ be the Fibonacci numbers: $F_k = F_{k - 1} + F_{k - 2}$ with base cases $F_1 = F_2 = 1$.
Find $\displaystyle\sum_{k = 1}^{30} C({10}^{12}, \sqrt{k}, \sqrt{F_k})$, and give your answer rounded to 8 decimal places behind the decimal point.
# --hints--
`guessingGame()` should return `36813.12757207`.
```js
assert.strictEqual(guessingGame(), 36813.12757207);
```
# --seed--
## --seed-contents--
```js
function guessingGame() {
return true;
}
guessingGame();
```
# --solutions--
```js
// solution required
```