Files
freeCodeCamp/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-459-flipping-game.md
2023-02-23 10:14:20 -08:00

1.9 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5900f5371000cf542c51004a Problem 459: Flip-Spiel 1 302133 problem-459-flipping-game

--description--

Das Hüpfspiel ist ein Spiel für zwei Spieler, das auf einem quadratischen Spielbrett von N mal N gespielt wird.

Jedes Quadrat enthält eine Scheibe, die auf einer Seite weiß und auf der anderen Seite schwarz ist.

Das Spiel beginnt damit, dass alle Scheiben ihre weiße Seite zeigen.

Ein Zug besteht darin, alle Scheiben in einem Rechteck mit den folgenden Eigenschaften umzudrehen:

  • die obere rechte Ecke des Rechtecks enthält eine weiße Scheibe
  • die Rechteckbreite ist ein perfektes Quadrat (1, 4, 9, 16, ...)
  • die Höhe des Rechtecks ist eine dreieckige Zahl (1, 3, 6, 10, ...)
alle Scheiben in einem 4x3-Rechteck auf einem 5x5-Brett umdrehen

Spieler wechseln sich ab. Ein Spieler gewinnt, indem er das Raster ganz schwarz macht.

Lasse W(N) die Anzahl der Gewinnzüge für den ersten Spieler auf einem N mal N Brett mit allen weißen Feldern sein, unter der Annahme eines perfekten Spiels.

W(1) = 1, W(2) = 0, W(5) = 8 and W({10}^2) = 31\\,395.

Für N = 5 sind die acht siegreichen ersten Züge des ersten Spielers:

acht gewinnende erste Züge für N = 5

Finde W({10}^6).

--hints--

flippingGame() sollte 3996390106631 zurückgeben.

assert.strictEqual(flippingGame(), 3996390106631);

--seed--

--seed-contents--

function flippingGame() {

  return true;
}

flippingGame();

--solutions--

// solution required