alexsashinav
27.04.2023 03:44

При двоичном кодировании буквам сопоставляются последовательности из символов «0» или «1». например, рассмотрим код, в котором буква a кодируется последовательностью «000», а буква б — последовательностью «111».

этот код обладает следующим свойством: он исправляет одну ошибку, то есть при изменении не более одного переданного символа всё равно можно восстановить переданное кодовое слово. например, если в последовательности «000» изменить один символ, то может получиться одна из следующих последовательностей: «100», «010», «001». а если изменить один символ в последовательности «111», то может получиться одна из следующих последовательностей «011», «101», «110».

про такой код мы будем говорить, что это код длины 3 (все кодовые слова состоят из трёх символов) мощности 2 (мы построили два кодовых слова), исправляющий одну ошибку.

нельзя составить код длины 2 мощности 2, исправляющий одну ошибку. например, если взять кодовые слова «00» и «11», то при получении последовательности «01» непонятно, какая последовательность была передана: это могла быть как последовательность «00», так и последовательность «11». несложно заметить, что код может исправлять одну ошибку, если любые два кодовых слова различаются как минимум в трёх позициях (то есть в таблице для любых двух выбранных строк верно свойство: найдётся три таких столбца, что в этих столбцах в двух выбранных строках записаны разные символы).

пример кода длины 5 мощности 3, исправляющий одну ошибку:

в таблице для любых двух выбранных строк верно свойство: найдётся три таких столбца, что в этих столбцах в двух выбранных строках записаны разные символы. поэтому этот код исправляет одну ошибку.

вам необходимо построить код длины 6, исправляющий одну ошибку, при этом код должен содержать как можно больше кодовых слов.

в качестве ответа вам нужно записать несколько кодовых слов, каждое кодовое слово в отдельной строке. кодовое слово должно содержать ровно шесть символов «0» или «1».

пример записи в ответе кода из двух кодовых слов:

чем больше кодовых слов вы сможете записать (при условии, что полученный код будет исправлять одну ошибку), тем больше вы получите. ответ, в котором всего лишь два кодовых слова, будет оцениваться в 0 .

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
alexmad2001
08.02.2020 17:13

Написал на том, что было под рукой: 1C

Если Квартира > ЭтажейВДоме * КвартирНаЭтаже Тогда  

 Сообщить("Нет такой квартиры в доме, мало этажей!");

ИначеЕсли Квартира <= КвартирНаЭтаже Тогда  

 Сообщить("Живет на первом этаже");

Иначе

 ЖиветНа = Цел(Квартира / КвартирНаЭтаже);

 ОстатокЭт = Квартира%КвартирНаЭтаже;

 Если ОстатокЭт>0 Тогда  //

  ЖиветНа = ЖиветНа+1;

 КонецЕсли;

 Если ЖиветНа%2=0 И ЖиветНа=ЭтажейВДоме Тогда // это четный и последний

  ВыходитьНа = ЖиветНа-1;

 ИначеЕсли ЖиветНа%2=0 Тогда // четный в НЕчетный этаж

  ВыходитьНа = ЖиветНа+1;

 Иначе

  ВыходитьНа = ЖиветНа;

 КонецЕсли;

 Сообщить(" Выйдет на: "+ВыходитьНа);

КонецЕсли;

0,0(0 оценок)
Ответ:
komarenko
25.03.2022 11:35
Exp(x) - функция, возводящая число е ≈ 2.718 в степень Х.
ln(x) - натуральный логарифм по основанию е из числа Х.
Т.е exp(ln(5)) вернёт 5, exp(ln(10)) вернёт 10 и т.д. В этом случае, число N работает как показатель степени для Х.  Тогда exp(ln(3)*2) = 3^2 = 9. Ведь в математике, чтобы умножить одно число на другое, нужно сложить их логарифмы и результат вернуть "из логарифмов". Пример на десятичных логарифмах: 2 * 2. lg 2 = 0.3010. Чтобы умножить, складываем: 0.3010+0.3010=0.6020. lg 4 = 0.6020. Чтобы возвести число в степень, нужно логарифм числа умножить на показатель степени. Например: 2^8. 0.3010*8=2.408. lg 256 = 2.408. Таким образом ln(x)*n - это умножение логарифма числа на показатель степени, а exp(res) - возведение из логарифма в число. Может быть сумбурно объяснил, но как-то так.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота