fix(curriculum): clean-up Project Euler 381-400 (#43024)
* fix: clean-up Project Euler 381-400 * fix: missing image extension * fix: missing subscripts Co-authored-by: Tom <20648924+moT01@users.noreply.github.com> Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
This commit is contained in:
@ -8,28 +8,35 @@ dashedName: problem-391-hopping-game
|
||||
|
||||
# --description--
|
||||
|
||||
Let sk be the number of 1’s when writing the numbers from 0 to k in binary.
|
||||
Let $s_k$ be the number of 1’s when writing the numbers from 0 to $k$ in binary.
|
||||
|
||||
For example, writing 0 to 5 in binary, we have 0, 1, 10, 11, 100, 101. There are seven 1’s, so s5 = 7.
|
||||
For example, writing 0 to 5 in binary, we have 0, 1, 10, 11, 100, 101. There are seven 1’s, so $s_5 = 7$.
|
||||
|
||||
The sequence S = {sk : k ≥ 0} starts {0, 1, 2, 4, 5, 7, 9, 12, ...}.
|
||||
The sequence $S = \\{s_k : k ≥ 0\\}$ starts $\\{0, 1, 2, 4, 5, 7, 9, 12, \ldots\\}$.
|
||||
|
||||
A game is played by two players. Before the game starts, a number n is chosen. A counter c starts at 0. At each turn, the player chooses a number from 1 to n (inclusive) and increases c by that number. The resulting value of c must be a member of S. If there are no more valid moves, the player loses.
|
||||
A game is played by two players. Before the game starts, a number $n$ is chosen. A counter $c$ starts at 0. At each turn, the player chooses a number from 1 to $n$ (inclusive) and increases $c$ by that number. The resulting value of $c$ must be a member of $S$. If there are no more valid moves, the player loses.
|
||||
|
||||
For example: Let n = 5. c starts at 0. Player 1 chooses 4, so c becomes 0 + 4 = 4. Player 2 chooses 5, so c becomes 4 + 5 = 9. Player 1 chooses 3, so c becomes 9 + 3 = 12. etc. Note that c must always belong to S, and each player can increase c by at most n.
|
||||
For example, with $n = 5$ and starting with $c = 0$:
|
||||
|
||||
Let M(n) be the highest number the first player can choose at her first turn to force a win, and M(n) = 0 if there is no such move. For example, M(2) = 2, M(7) = 1 and M(20) = 4.
|
||||
- Player 1 chooses 4, so $c$ becomes $0 + 4 = 4$.
|
||||
- Player 2 chooses 5, so $c$ becomes $4 + 5 = 9$.
|
||||
- Player 1 chooses 3, so $c$ becomes $9 + 3 = 12$.
|
||||
- etc.
|
||||
|
||||
Given Σ(M(n))3 = 8150 for 1 ≤ n ≤ 20.
|
||||
Note that $c$ must always belong to $S$, and each player can increase $c$ by at most $n$.
|
||||
|
||||
Find Σ(M(n))3 for 1 ≤ n ≤ 1000.
|
||||
Let $M(n)$ be the highest number the first player can choose at her first turn to force a win, and $M(n) = 0$ if there is no such move. For example, $M(2) = 2$, $M(7) = 1$ and $M(20) = 4$.
|
||||
|
||||
It can be verified $\sum M{(n)}^3 = 8150$ for $1 ≤ n ≤ 20$.
|
||||
|
||||
Find $\sum M{(n)}^3$ for $1 ≤ n ≤ 1000$.
|
||||
|
||||
# --hints--
|
||||
|
||||
`euler391()` should return 61029882288.
|
||||
`hoppingGame()` should return `61029882288`.
|
||||
|
||||
```js
|
||||
assert.strictEqual(euler391(), 61029882288);
|
||||
assert.strictEqual(hoppingGame(), 61029882288);
|
||||
```
|
||||
|
||||
# --seed--
|
||||
@ -37,12 +44,12 @@ assert.strictEqual(euler391(), 61029882288);
|
||||
## --seed-contents--
|
||||
|
||||
```js
|
||||
function euler391() {
|
||||
function hoppingGame() {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
euler391();
|
||||
hoppingGame();
|
||||
```
|
||||
|
||||
# --solutions--
|
||||
|
Reference in New Issue
Block a user