2.1 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
5900f5101000cf542c510022 | Завдання 419: Послідовність «глянь і скажи» | 5 | 302088 | problem-419-look-and-say-sequence |
--description--
Послідовність "глянь і скажи" виглядає так: 1, 11, 21, 1211, 111221, 312211, 13112221, 1113213213211, ...
Послідовність починається з 1 та всі наступні числа отримуємо за допомогою послідовного опису цифр попередньо числа.
Краще рахувати вголос:
1 — це "одна одиниця" → 11
11 — це "дві одиниці" → 21
21 — це "одна двійка та одна одиниця" → 1211
1211 — це "одна одиниця, одна двійка і дві одиниці" → 111221
111221 — це "три одиниці, два двійки та одна одиниця" → 312211
...
Визначте A(n)
, B(n)
і C(n)
як кількість одиниць, двійок і трійок у елеманта $n$' послідовності відповідно. Одиниця моє підтвердити, що A(40) = 31\\,254
, B(40) = 20\\,259
та C(40) = 11\\,625
.
Знайти: A(n)
, B(n)
та C(n)
для n = {10}^{12}
. Дайте відповідь за модулем 2^{30}
як рядок, а також розділіть значення A
, B
та C
комами. Наприклад,. для n = 40
відповідь така: 31254,20259,11625
.
--hints--
lookAndSaySequence()
має повернути рядок.
assert(typeof lookAndSaySequence() === 'string');
lookAndSaySequence()
має повернути рядок 998567458,1046245404,43363922
.
assert.strictEqual(lookAndSaySequence(), '998567458,1046245404,43363922');
--seed--
--seed-contents--
function lookAndSaySequence() {
return true;
}
lookAndSaySequence();
--solutions--
// solution required