М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
ankateren
ankateren
23.06.2022 07:31 •  Информатика

Для кодирования некоторой последовательности, состоящей из букв а б и г д используется неравномерный двоичный код позволяющий однозначно декодировать полученную двоичную последовательность. этот код а-11 б-110 в-101 г-000 д-010 .требуется сократить для одной из букв длину кодового слова так, чтоб код по прежнему можно было декодировать однозначно.код остальных букв меняться не должны.каким из указанных это можно сделать? 1)это невозможно 2)для буквы-10 3)для буквы-01 4)для буквы-10.

👇
Ответ:
2MilkaXD
2MilkaXD
23.06.2022

ответ: 1 - Это не возможно, т.к все коды имеют одну длину, и т.к их 5, то  занято 5 из 6 ветвей, т.е сократить не возможно


Для кодирования некоторой последовательности, состоящей из букв а б и г д используется неравномерный
4,4(76 оценок)
Открыть все ответы
Ответ:
lev93
lev93
23.06.2022
[l,r,строка,номер]
[0, 0, "a", 1]
[1, 1, "b", 2]
[1, 2, "bb", 3]
[2, 2, "b", 4]
[0, 3, "abba", 5]
[3, 3, "a", 6]
[3, 4, "aa", 7]
[4, 4, "a", 8]
[3, 5, "aaa", 9]
[4, 5, "aa", 10]
[5, 5, "a", 11]
[3, 6, "", 12]
[4, 6, "aaa", 13]
[5, 6, "aa", 14]
[6, 6, "a", 15]
[2, 7, "bb", 16]
[7, 7, "b", 17]
[6, 8, "aba", 18]
[8, 8, "a", 19]
[7, 9, "bab", 20]
[9, 9, "b", 21]

#код программы Ruby 22
s = "abbbab"
n = 0
for r in 0..s.size-1
    for l in 0..r
        t = s[l..r]
        if t.reverse == t
            n += 1
            p [l,r,t,n]
        end
    end
end
4,8(27 оценок)
Ответ:
KVika65
KVika65
23.06.2022
Думаю нет большой разницы между процедурой и функцией, просто функция куда удобнее.
Для нахождения нода используется алгоритм Эвклида

//PascalABC.Net

function NOD(A, B: integer): integer;
begin
    while A <> B do
        if A > B then A := A - B else B := B - A;
    NOD := A;
end;

procedure pNOD(A, B: integer; var NOD: integer);
begin
    while A <> B do
        if A > B then A := A - B else B := B - A;
    NOD := A;
end;

begin
    var a: Array of integer := (16, 32, 40, 64, 80, 128);
    var n := a[low(a)];
    for var i := low(a) to high(a) do
        pNOD(n, a[i], n);
   
    Writeln(n);
end.
4,8(31 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ