freeCodeCamp/curriculum/challenges/chinese/10-coding-interview-prep/project-euler/problem-321-swapping-counte...

30 lines
1.0 KiB
Markdown
Raw Normal View History

---
id: 5900f4ae1000cf542c50ffc0
title: 问题321交换计数器
challengeType: 5
videoUrl: ''
---
# --description--
由2n + 1个正方形组成的水平行在一端有n个红色计数器在另一端有n个蓝色计数器中间由一个空的正方形隔开。 例如当n = 3时。
计数器可以从一个正方形移动到下一个正方形(滑动),也可以跳过另一个计数器(跳),只要该计数器旁边的正方形未被占用即可。
令Mn表示完全反转彩色计数器位置的最小移动/动作数; 也就是说,将所有红色计数器向右移动,并将所有蓝色计数器向左移动。 可以验证M3= 15它也恰好是三角形数。
如果我们基于n的值创建一个序列其中Mn是一个三角形数字那么前五个项将是 1、3、10、22和63它们的总和为99。
找出该序列的前四十项之和。
# --hints--
`euler321()`应该返回2470433131948040。
```js
assert.strictEqual(euler321(), 2470433131948040);
```
# --solutions--