2021-06-15 00:49:18 -07:00
---
id: 5900f5101000cf542c510022
2022-03-04 19:46:29 +05:30
title: 'Problema 419: Guardare e dire la sequenza'
2021-06-15 00:49:18 -07:00
challengeType: 5
forumTopicId: 302088
dashedName: problem-419-look-and-say-sequence
---
# --description--
2022-03-04 19:46:29 +05:30
La sequenza "look and say" sia 1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, ...
2021-06-15 00:49:18 -07:00
2022-03-04 19:46:29 +05:30
La sequenza inizia con 1 e tutti gli altri membri sono ottenuti descrivendo il membro precedente in termini di cifre consecutive.
2021-06-15 00:49:18 -07:00
2022-03-04 19:46:29 +05:30
Aiuta farlo ad alta voce:
2021-06-15 00:49:18 -07:00
2022-03-04 19:46:29 +05:30
1 è 'uno uno' $→ 11$
2021-06-15 00:49:18 -07:00
2022-03-04 19:46:29 +05:30
11 è 'due uni' $→ 21$
2021-06-15 00:49:18 -07:00
2022-03-04 19:46:29 +05:30
21 è 'un due e un uno' $→ 1211$
2021-06-15 00:49:18 -07:00
2022-03-04 19:46:29 +05:30
1211 è 'un uno, un due e due uni' $→ 111221$
2021-06-15 00:49:18 -07:00
2022-03-04 19:46:29 +05:30
111221 è 'tre uni, due due e un uno '$→ 312211$
2021-06-15 00:49:18 -07:00
...
2022-03-04 19:46:29 +05:30
Definire $A(n)$, $B(n)$ e $C(n)$ rispettivamente come il numero di uno, due e tre nell'elemento $n$'esimo della sequenza. Si può verificare che $A(40) = 31\\,254$, $B(40) = 20\\,259$ e $C(40) = 11\\,625$.
2021-06-15 00:49:18 -07:00
2022-03-04 19:46:29 +05:30
Trova $A(n)$, $B(n)$ e $C(n)$ per $n = {10}^{12}$. Dai la tua risposta modulo $2^{30}$ come stringa e separa i tuoi valori per $A$, $B$ e $C$ con una virgola. Ad es. per $n = 40$ la risposta sarebbe `31254,20259,11625` .
2021-06-15 00:49:18 -07:00
# --hints--
2022-03-04 19:46:29 +05:30
`lookAndSaySequence()` dovrebbe restituire una stringa.
2021-06-15 00:49:18 -07:00
```js
2022-03-04 19:46:29 +05:30
assert(typeof lookAndSaySequence() === 'string');
```
`lookAndSaySequence()` dovrebbe restituire la stringa `998567458,1046245404,43363922` .
```js
assert.strictEqual(lookAndSaySequence(), '998567458,1046245404,43363922');
2021-06-15 00:49:18 -07:00
```
# --seed--
## --seed-contents--
```js
2022-03-04 19:46:29 +05:30
function lookAndSaySequence() {
2021-06-15 00:49:18 -07:00
return true;
}
2022-03-04 19:46:29 +05:30
lookAndSaySequence();
2021-06-15 00:49:18 -07:00
```
# --solutions--
```js
// solution required
```