Files

2.1 KiB
Raw Permalink Blame History

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