Files

53 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: 5900f4ae1000cf542c50ffc0
title: 'Завдання 321: Заміна фішок'
challengeType: 5
forumTopicId: 301978
dashedName: problem-321-swapping-counters
---
# --description--
Горизонтальний ряд, що складається з $2n + 1$ квадратів, має $n$ червоних фішок, розміщених в одному кінці, та $n$ синіх фішок у іншому кінці, котрі розмежовані пустим квадратом у центрі. Наприклад, якщо $n = 3$.
<img class="img-responsive center-block" alt="три квадрати з червоними та синіми фішками розміщені у протилежних кінцях ряду й розділені одним пустим квадратом" src="https://cdn.freecodecamp.org/curriculum/project-euler/swapping-counters-1.gif" style="background-color: white; padding: 10px;" />
Фішка може рухатися з одного квадрата до іншого (зміщення), чи може перестрибнути через іншу фішку, якщо квадрат біля фішки не зайнятий.
<img class="img-responsive center-block" alt="дозволені рухи фішок" src="https://cdn.freecodecamp.org/curriculum/project-euler/swapping-counters-2.gif" style="background-color: white; padding: 10px;" />
Нехай $M(n)$ відображає мінімальну кількість рухів/дій, потрібних для цілковитої зміни позицій кольорових фішок; це все, перемістіть усі червоні фішки праворуч та усі сині — ліворуч.
Може бути підтверджено, що $M(3) = 15$, яке є трикутним числом.
Якщо ми створимо послідовність, що базується на значеннях n, де $M(n)$ є трикутним числом, тоді першими п'ятьма значеннями будуть: 1, 3, 10, 22 та 63, а їхня сума дорівнюватиме 99.
Знайдіть суму перших сорока значень послідовності.
# --hints--
`swappingCounters()` має повернути `2470433131948040`.
```js
assert.strictEqual(swappingCounters(), 2470433131948040);
```
# --seed--
## --seed-contents--
```js
function swappingCounters() {
return true;
}
swappingCounters();
```
# --solutions--
```js
// solution required
```