2.1 KiB
2.1 KiB
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
5900f4ae1000cf542c50ffc0 | 問題 321: カウンターを入れ替える | 1 | 301978 | problem-321-swapping-counters |
--description--
2n + 1
個のマスが横方向に一列に並べられ、一方の端に n
個の赤のカウンターが置かれ、もう一方の端に n
個の青のカウンターが置かれ、その間の 1 マスは空いています。 例えば、n = 3
のときは下図のようになります。
カウンターは、あるマスから次のマスに移動したり (スライド)、別のカウンターの隣のマスが空いていればそのカウンターを飛び越えたり (ホップ) できます。
色付きカウンターの位置を完全に入れ替える (すなわち赤のカウンターをすべて右へ、青のカウンターをすべて左へ移動する) ための移動やアクションの最小回数を、M(n)
とします。
M(3) = 15
であることを確認できます。これは三角数でもあります。
M(n)
が三角数となるような n の値に基づいて数列を作ると、最初の 5 項は 1, 3, 10, 22, 63 で、それらの和は 99 です。
この数列の最初の 40 項の和を求めなさい。
--hints--
swappingCounters()
は 2470433131948040
を返す必要があります。
assert.strictEqual(swappingCounters(), 2470433131948040);
--seed--
--seed-contents--
function swappingCounters() {
return true;
}
swappingCounters();
--solutions--
// solution required