freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/project-euler/problem-219-skew-cost-codin...

2.0 KiB

id challengeType title videoUrl localeTitle
5900f4481000cf542c50ff5a 5 Problem 219: Skew-cost coding Задача 219: Кодирование

Description

Пусть A и B - битовые строки (последовательности 0 и 1). Если A равно самым длинным (A) битам B, то A называется префиксом B. Например, 00110 является префиксом 001101001, но не 00111 или 100110.

Префикс-бесплатный код размера n представляет собой набор из n отдельных битовых строк, так что ни одна строка не является префиксом любого другого. Например, это код без префикса размером 6:

0000, 0001, 001, 01, 10, 11

Теперь предположим, что он стоит один пенни, чтобы передать бит «0», но четыре пенсы для передачи «1». Тогда общая стоимость кода без префикса, показанного выше, составляет 35 пенсов, что является самым дешевым для пересмотренной схемы ценообразования. Короче говоря, мы пишем Cost (6) = 35.

Что такое стоимость (109)?

Instructions

Tests

tests:
  - text: <code>euler219()</code> должен возвращать 64564225042.
    testString: 'assert.strictEqual(euler219(), 64564225042, "<code>euler219()</code> should return 64564225042.");'

Challenge Seed

function euler219() {
  // Good luck!
  return true;
}

euler219();

Solution

// solution required