Files
freeCodeCamp/curriculum/challenges/japanese/10-coding-interview-prep/project-euler/problem-325-stone-game-ii.md
2022-01-23 00:08:20 +09:00

1.7 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5900f4b11000cf542c50ffc4 問題 325: 石取りゲーム (2) 5 301982 problem-325-stone-game-ii

--description--

石を積み上げた 2 つの山と 2 人のプレイヤーでゲームをします。 各プレイヤーは自分のターンで、大きい山から石をいくつか取ります。 取る石の数は、小さい山にある石の数の正の倍数でなければなりません。

例えば、小さい山に 6 個、大きい山に 14 個の石がある構成を順序対 (6,14) で表すと、先手は大きい山から 6 個または 12 個の石を取ることができます。

1 つの山からすべての石を取ったプレイヤーの勝ちです。

勝利構成とは、先手が必ず勝てる構成です。 例えば、(1,5), (2,6), (3,12) は、先手が即座に 2 つ目の山からすべての石を取れるので、勝利構成です。

敗北構成とは、先手が何をしようと後手が必ず勝てる構成です。 例えば、(2,3) と (3,4) は敗北構成です。ルールに従う限り、何をしても後手の勝利構成になります。

0 < x_i < y_i N のとき、すべての敗北構成 (x_i, y_i) に対する (x_i + y_i) の和を、S(N) とします。 S(10) = 211, S({10}^4) = 230\\,312\\,207\\,313 であることを確認できます。

S({10}^{16})\bmod 7^{10} を求めなさい。

--hints--

stoneGameTwo()54672965 を返す必要があります。

assert.strictEqual(stoneGameTwo(), 54672965);

--seed--

--seed-contents--

function stoneGameTwo() {

  return true;
}

stoneGameTwo();

--solutions--

// solution required