2021-06-15 00:49:18 -07:00
|
|
|
---
|
|
|
|
id: 5900f4ed1000cf542c50fffe
|
2022-03-04 19:46:29 +05:30
|
|
|
title: 'Problema 384: Sequenza di Rudin-Shapiro'
|
2021-06-15 00:49:18 -07:00
|
|
|
challengeType: 5
|
|
|
|
forumTopicId: 302048
|
|
|
|
dashedName: problem-384-rudin-shapiro-sequence
|
|
|
|
---
|
|
|
|
|
|
|
|
# --description--
|
|
|
|
|
2022-03-04 19:46:29 +05:30
|
|
|
Definisci la sequenza $a(n)$ come il numero di coppie adiacenti di uno nell'espansione binaria di $n$ (possibilmente sovrapposte).
|
2021-06-15 00:49:18 -07:00
|
|
|
|
2022-03-04 19:46:29 +05:30
|
|
|
Ad esempio: $a(5) = a({101}_2) = 0$, $a(6) = a({110}_2) = 1$, $a(7) = a({111}_2) = 2$
|
2021-06-15 00:49:18 -07:00
|
|
|
|
2022-03-04 19:46:29 +05:30
|
|
|
Definire la sequenza $b(n) = {(-1)}^{a(n)}$. Questa sequenza è chiamata sequenza di Rudin-Shapiro.
|
2021-06-15 00:49:18 -07:00
|
|
|
|
2022-03-04 19:46:29 +05:30
|
|
|
Considera anche la sequenza sommatoria di $b(n)$: $s(n) = \displaystyle\sum_{i = 0}^{n} b(i)$.
|
2021-06-15 00:49:18 -07:00
|
|
|
|
2022-03-04 19:46:29 +05:30
|
|
|
La prima coppia di valori di queste sequenze sono:
|
2021-06-15 00:49:18 -07:00
|
|
|
|
2022-03-31 22:31:59 +05:30
|
|
|
$$\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}$$
|
2021-06-15 00:49:18 -07:00
|
|
|
|
2022-03-04 19:46:29 +05:30
|
|
|
La sequenza $s(n)$ ha la notevole proprietà che tutti gli elementi sono positivi e ogni numero intero positivo $k$ si verifica esattamente $k$ volte.
|
2021-06-15 00:49:18 -07:00
|
|
|
|
2022-03-04 19:46:29 +05:30
|
|
|
Definisci $g(t, c)$, con $1 ≤ c ≤ t$, come l'indice in $s(n)$ per il quale $t$ si verifica per la $c$° volta in $s(n)$.
|
2021-06-15 00:49:18 -07:00
|
|
|
|
2022-03-04 19:46:29 +05:30
|
|
|
Ad esempio: $g(3, 3) = 6$, $g(4, 2) = 7$ and $g(54321, 12345) = 1\\,220\\,847\\,710$.
|
|
|
|
|
|
|
|
Sia $F(n)$ la sequenza di fibonacci definita da:
|
|
|
|
|
2022-03-31 22:31:59 +05:30
|
|
|
$$\begin{align} & F(0) = F(1) = 1 \text{ and} \\\\
|
|
|
|
& F(n) = F(n - 1) + F(n - 2) \text{ for } n > 1. \end{align}$$
|
2022-03-04 19:46:29 +05:30
|
|
|
|
|
|
|
Definisci $GF(t) = g(F(t), F(t - 1))$.
|
|
|
|
|
|
|
|
Trova $\sum GF(t)$ for$ 2 ≤ t ≤ 45$.
|
2021-06-15 00:49:18 -07:00
|
|
|
|
|
|
|
# --hints--
|
|
|
|
|
2022-03-04 19:46:29 +05:30
|
|
|
`rudinShapiroSequence()` dovrebbe restituire `3354706415856333000`.
|
2021-06-15 00:49:18 -07:00
|
|
|
|
|
|
|
```js
|
2022-03-04 19:46:29 +05:30
|
|
|
assert.strictEqual(rudinShapiroSequence(), 3354706415856333000);
|
2021-06-15 00:49:18 -07:00
|
|
|
```
|
|
|
|
|
|
|
|
# --seed--
|
|
|
|
|
|
|
|
## --seed-contents--
|
|
|
|
|
|
|
|
```js
|
2022-03-04 19:46:29 +05:30
|
|
|
function rudinShapiroSequence() {
|
2021-06-15 00:49:18 -07:00
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2022-03-04 19:46:29 +05:30
|
|
|
rudinShapiroSequence();
|
2021-06-15 00:49:18 -07:00
|
|
|
```
|
|
|
|
|
|
|
|
# --solutions--
|
|
|
|
|
|
|
|
```js
|
|
|
|
// solution required
|
|
|
|
```
|