freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/project-euler/problem-306-paper-strip-gam...

56 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
id: 5900f49f1000cf542c50ffb1
challengeType: 5
title: 'Problem 306: Paper-strip Game'
videoUrl: ''
localeTitle: 'Задача 306: Paper-strip Game'
---
## Description
<section id="description"> Следующая игра - классический пример Комбинаторной Теории Игры: <p> Два игрока начинают с полосы из белых белых квадратов, и они принимают чередующиеся повороты. На каждом шагу игрок выбирает два смежных белых квадрата и окрашивает их в черный цвет. Первый игрок, который не может сделать ход, проигрывает. </p><p> Если n = 1, никаких действительных ходов нет, поэтому первый игрок проигрывает автоматически. Если n = 2, есть только один действительный ход, после которого второй игрок проигрывает. Если n = 3, есть два действительных хода, но оба оставляют ситуацию, когда второй игрок проигрывает. Если n = 4, для первого игрока есть три действительных шага; она может выиграть игру, покрасив два средних квадрата. Если n = 5, для первого игрока есть четыре действительных шага (показано ниже красным); но независимо от того, что она делает, выигрывает второй игрок (синий). </p><p> Таким образом, для 1 ≤ n ≤ 5 существует 3 значения n, для которых первый игрок может заставить выигрыш. Аналогично, для 1 ≤ n ≤ 50 существует 40 значений n, для которых первый игрок может заставить выигрыш. </p><p> Для 1 ≤ n ≤ 1 000 000, сколько значений n есть, для которых первый игрок может заставить выиграть? </p></section>
## Instructions
<section id="instructions">
</section>
## Tests
<section id='tests'>
```yml
tests:
- text: <code>euler306()</code> должен вернуть 852938.
testString: 'assert.strictEqual(euler306(), 852938, "<code>euler306()</code> should return 852938.");'
```
</section>
## Challenge Seed
<section id='challengeSeed'>
<div id='js-seed'>
```js
function euler306() {
// Good luck!
return true;
}
euler306();
```
</div>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>