Files
2022-04-11 19:34:39 +05:30

66 lines
2.3 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: 5900f4ed1000cf542c50fffe
title: 'Завдання 384: послідовність Рудіна-Шапіро'
challengeType: 5
forumTopicId: 302048
dashedName: problem-384-rudin-shapiro-sequence
---
# --description--
Визначте послідовність $a(n)$ як кількість прилеглих пар у бінарному розширенні $n$ (можливо, вони перекриватимуть одна одне).
Наприклад: $a(5) = a({101}_2) = 0$, $a(6) = a({110}_2) = 1$, $a(7) = a({111}_2) = 2$
Визначте послідовність $b(n) = {(-1)}^{a(n)}$. Така послідовність має назву "Послідовність Рудіна-Шапіро".
Також розглянемо суматорну послідовність $b(n)$: $s(n) = \displaystyle\sum_{i = 0}^{n} b(i)$.
Перші декілька значень цих послідовностей:
$$\begin{array}{lr} n & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 \\\\
a(n) & 0 & 0 & 0 & 1 & 0 & 0 & 1 & 2 \\\\ b(n) & 1 & 1 & 1 & -1 & 1 & 1 & -1 & 1 \\\\
s(n) & 1 & 2 & 3 & 2 & 3 & 4 & 3 & 4 \end{array}$$
Послідовність $s(n)$ має особливу властивість, коли усі її елементи позитивні, а кожне позитивне ціле число $k$ виникає рівно $k$ разів.
Визначте $g(t, c)$, with $1 ≤ c ≤ t$, як індекс у $s(n)$ для якого $t$ виникає у $c$-й раз у $s(n)$.
Наприклад: $g(3, 3) = 6$, $g(4, 2) = 7$ and $g(54321, 12345) = 1\\,220\\,847\\,710$.
Нехай $F(n)$ буде послідовністю Фібоначчі, що визначається наступним:
$$\begin{align} & F(0) = F(1) = 1 \text{ and} \\\\
& F(n) = F(n - 1) + F(n - 2) \text{ for } n > 1. \end{align}$$
Визначити $GF(t) = g(F(t), F(t - 1))$.
Знайти $\sum GF(t)$ for$ 2 ≤ t ≤ 45$.
# --hints--
`rudinShapiroSequence()` має повернути `3354706415856333000`.
```js
assert.strictEqual(rudinShapiroSequence(), 3354706415856333000);
```
# --seed--
## --seed-contents--
```js
function rudinShapiroSequence() {
return true;
}
rudinShapiroSequence();
```
# --solutions--
```js
// solution required
```