2.3 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
5900f4ed1000cf542c50fffe | Завдання 384: послідовність Рудіна-Шапіро | 5 | 302048 | 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
.
assert.strictEqual(rudinShapiroSequence(), 3354706415856333000);
--seed--
--seed-contents--
function rudinShapiroSequence() {
return true;
}
rudinShapiroSequence();
--solutions--
// solution required