Files
freeCodeCamp/curriculum/challenges/ukrainian/10-coding-interview-prep/project-euler/problem-230-fibonacci-words.md

2.3 KiB
Raw Blame History

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5900f4531000cf542c50ff65 Завдання 230: Слова Фібоначчі 5 301874 problem-230-fibonacci-words

--description--

Для будь-яких двох рядків цифр, A і B, визначаємо F_{A,B} як послідовність (A, B, AB, BAB, ABBAB, \ldots ), у якій кожен елемент є поєднанням двох попередніх.

Далі ми визначаємо D_{A,B}(n) як n^{\text{th}} цифру у першому елементі F_{A,B}, що містить принаймні n цифр.

Наприклад:

Нехай A = 1\\,415\\,926\\,535, B = 8\\,979\\,323\\,846. Припустимо, ми хочемо знайти D_{A,B}(35).

Першими елементами F_{A,B} є:

\begin{align} & 1\\,415\\,926\\,535 \\\\ & 8\\,979\\,323\\,846 \\\\ & 14\\,159\\,265\\,358\\,979\\,323\\,846 \\\\ & 897\\,932\\,384\\,614\\,159\\,265\\,358\\,979\\,323\\,846 \\\\ & 14\\,159\\,265\\,358\\,979\\,323\\,846\\,897\\,932\\,384\\,614\\,15\color{red}{9}\\,265\\,358\\,979\\,323\\,846 \end{align}

Тоді D_{A,B}(35) — це {35}^{\text{th}} цифра п'ятого елемента, тобто 9.

Тепер для A використовуємо перші 100 цифр після десяткового розділювача:

\begin{align} & 14\\,159\\,265\\,358\\,979\\,323\\,846\\,264\\,338\\,327\\,950\\,288\\,419\\,716\\,939\\,937\\,510 \\\\ & 58\\,209\\,749\\,445\\,923\\,078\\,164\\,062\\,862\\,089\\,986\\,280\\,348\\,253\\,421\\,170\\,679 \end{align}

і для B наступні 100 цифр:

\begin{align} & 82\\,148\\,086\\,513\\,282\\,306\\,647\\,093\\,844\\,609\\,550\\,582\\,231\\,725\\,359\\,408\\,128 \\\\ & 48\\,111\\,745\\,028\\,410\\,270\\,193\\,852\\,110\\,555\\,964\\,462\\,294\\,895\\,493\\,038\\,196 \end{align}

Знайдіть \sum_{n = 0, 1, \ldots, 17} {10}^n × D_{A,B}((127 + 19n) × 7^n).

--hints--

fibonacciWords() має повернути 850481152593119200.

assert.strictEqual(fibonacciWords(), 850481152593119200);

--seed--

--seed-contents--

function fibonacciWords() {

  return true;
}

fibonacciWords();

--solutions--

// solution required