Files

55 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: 5900f4fe1000cf542c510010
title: 'Завдання 400: Гра з деревом Фібоначчі'
challengeType: 5
forumTopicId: 302067
dashedName: problem-400-fibonacci-tree-game
---
# --description--
Дерево Фібоначчі - це двійкове дерево, рекурсивно визначене як:
- $T(0)$ - це порожнє дерево.
- $T(1)$ - це двійкове дерево лише з одним вузлом.
- $T(k)$ складається з кореневого вузла, який має $T(k - 1)$ і $T(k - 2)$ як дочірній.
Два гравці грають на вибування на такому дереві. Під час кожного ходу гравець вибирає вузол і видаляє цей вузол разом із залежним деревом, що прив'язане до цього вузла. Гравець, якого змушують взяти кореневий вузол усього дерева, програє.
Ось виграшні ходи першого гравця на першому ході за $T(k)$ від $k = 1$ до $k = 6$.
<img class="img-responsive center-block" alt="виграшні ходи першого гравця, на першому ході за k = 1 до k = 6" src="https://cdn.freecodecamp.org/curriculum/project-euler/fibonacci-tree-game.png" style="background-color: white; padding: 10px;" />
Нехай $f(k)$ - це кількість виграшних ходів першого гравця (тобто ходів, для яких другий гравець не має стратегії виграшу) на першому ході гри, коли ця гра проводиться $T(k)$.
Наприклад, $f(5) = 1$ і $f(10) = 17$.
Знайдіть $f(10000)$. Вкажіть останні 18 цифр своєї відповіді.
# --hints--
`fibonacciTreeGame()` повинен повернути `438505383468410600`.
```js
assert.strictEqual(fibonacciTreeGame(), 438505383468410600);
```
# --seed--
## --seed-contents--
```js
function fibonacciTreeGame() {
return true;
}
fibonacciTreeGame();
```
# --solutions--
```js
// solution required
```