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

30 lines
1.0 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: 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--