* fix: clean-up Project Euler 361-380 * fix: improve wording Co-authored-by: Sem Bauke <46919888+Sembauke@users.noreply.github.com> * fix: remove unnecessary paragraph * fix: corrections from review Co-authored-by: Tom <20648924+moT01@users.noreply.github.com> Co-authored-by: Sem Bauke <46919888+Sembauke@users.noreply.github.com> Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
id: 5900f4da1000cf542c50ffed
 | 
						|
title: 'Problem 366: Stone Game III'
 | 
						|
challengeType: 5
 | 
						|
forumTopicId: 302027
 | 
						|
dashedName: problem-366-stone-game-iii
 | 
						|
---
 | 
						|
 | 
						|
# --description--
 | 
						|
 | 
						|
Two players, Anton and Bernhard, are playing the following game.
 | 
						|
 | 
						|
There is one pile of $n$ stones.
 | 
						|
 | 
						|
The first player may remove any positive number of stones, but not the whole pile.
 | 
						|
 | 
						|
Thereafter, each player may remove at most twice the number of stones his opponent took on the previous move.
 | 
						|
 | 
						|
The player who removes the last stone wins.
 | 
						|
 | 
						|
E.g. $n = 5$
 | 
						|
 | 
						|
If the first player takes anything more than one stone the next player will be able to take all remaining stones.
 | 
						|
 | 
						|
If the first player takes one stone, leaving four, his opponent will take also one stone, leaving three stones.
 | 
						|
 | 
						|
The first player cannot take all three because he may take at most $2 \times 1 = 2$ stones. So let's say he also takes one stone, leaving 2.
 | 
						|
 | 
						|
The second player can take the two remaining stones and wins.
 | 
						|
 | 
						|
So 5 is a losing position for the first player.
 | 
						|
 | 
						|
For some winning positions there is more than one possible move for the first player.
 | 
						|
 | 
						|
E.g. when $n = 17$ the first player can remove one or four stones.
 | 
						|
 | 
						|
Let $M(n)$ be the maximum number of stones the first player can take from a winning position at his first turn and $M(n) = 0$ for any other position.
 | 
						|
 | 
						|
$\sum M(n)$ for $n ≤ 100$ is 728.
 | 
						|
 | 
						|
Find $\sum M(n)$ for $n ≤ {10}^{18}$. Give your answer modulo ${10}^8$.
 | 
						|
 | 
						|
# --hints--
 | 
						|
 | 
						|
`stoneGameThree()` should return `88351299`.
 | 
						|
 | 
						|
```js
 | 
						|
assert.strictEqual(stoneGameThree(), 88351299);
 | 
						|
```
 | 
						|
 | 
						|
# --seed--
 | 
						|
 | 
						|
## --seed-contents--
 | 
						|
 | 
						|
```js
 | 
						|
function stoneGameThree() {
 | 
						|
 | 
						|
  return true;
 | 
						|
}
 | 
						|
 | 
						|
stoneGameThree();
 | 
						|
```
 | 
						|
 | 
						|
# --solutions--
 | 
						|
 | 
						|
```js
 | 
						|
// solution required
 | 
						|
```
 |