56 lines
2.4 KiB
Markdown
56 lines
2.4 KiB
Markdown
---
|
||
id: 5900f4ae1000cf542c50ffc0
|
||
challengeType: 5
|
||
title: 'Problem 321: Swapping Counters'
|
||
videoUrl: ''
|
||
localeTitle: 'Задача 321: Сменные счетчики'
|
||
---
|
||
|
||
## Description
|
||
<section id="description"> Горизонтальная строка, содержащая 2n + 1 квадратов, имеет n красных счетчиков, расположенных на одном конце, и n синих счетчиков на другом конце, разделенных единым пустым квадратом в центре. Например, когда n = 3. <p> Счетчик может перемещаться с одного квадрата на следующий (слайд) или может перепрыгивать через другой счетчик (прыжок), пока квадрат рядом с этим счетчиком не занят. </p><p> Пусть M (n) представляет собой минимальное количество ходов / действий для полного изменения положения цветных счетчиков; т. е. переместите все красные счетчики вправо и все синие счетчики влево. Можно проверить M (3) = 15, что также является треугольным числом. </p><p> Если мы создадим последовательность, основанную на значениях n, для которых M (n) является числом треугольника, то первые пять членов будут: 1, 3, 10, 22 и 63, а их сумма будет равна 99. </p><p> Найдите сумму первых сорока членов этой последовательности. </p></section>
|
||
|
||
## Instructions
|
||
<section id="instructions">
|
||
</section>
|
||
|
||
## Tests
|
||
<section id='tests'>
|
||
|
||
```yml
|
||
tests:
|
||
- text: <code>euler321()</code> должен возвращать 2470433131948040.
|
||
testString: 'assert.strictEqual(euler321(), 2470433131948040, "<code>euler321()</code> should return 2470433131948040.");'
|
||
|
||
```
|
||
|
||
</section>
|
||
|
||
## Challenge Seed
|
||
<section id='challengeSeed'>
|
||
|
||
<div id='js-seed'>
|
||
|
||
```js
|
||
function euler321() {
|
||
// Good luck!
|
||
return true;
|
||
}
|
||
|
||
euler321();
|
||
|
||
```
|
||
|
||
</div>
|
||
|
||
|
||
|
||
</section>
|
||
|
||
## Solution
|
||
<section id='solution'>
|
||
|
||
```js
|
||
// solution required
|
||
```
|
||
</section>
|