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

На ленте напечатаны цифры. над лентой находится некий исполнитель, который может выполнять 2 команды: (←) – передвинуться на одну цифру влево; (+) – изменить цифру, над которой он находится в данный момент, по правилу: 1 изменяется на 2; 2 – на 3; 3 – на 4; 4 – на 5; 5 – на 6; 6 – на 7; 7 – на 8; 8 – на 9; 9 – на 0; 0 – на 1. на ленте напечатано число 2907, исполнитель находится над цифрой 7. как увеличить число на 193 за минимальное количество команд? укажите ответ

👇
Ответ:
morcowqwerty
morcowqwerty
13.01.2023
Нужно получить число 2907+193=3100, отсюда следующие действия:
7 меняем на 8, 8 на 9, 9 на 0, передвигаем, еще раз передвигаем, 9 меняем на 0, 0 на 1, опять передвигаем и меняем 2 на 3, все

ответ на письмо:

передвигаем - это значит передвигаем ленту на одну цифру влево, всего 9 действий (команд)
4,5(85 оценок)
Открыть все ответы
Ответ:
Alvn
Alvn
13.01.2023
Подсчитываются вероятности появления символов первичного алфавита в исходном тексте (если они незаданы заранее)Символы первичного алфавита m1 выписывают в порядке убывания вероятностей.Последние n0 символов объединяют в новый символ, вероятность которого равна суммарной вероятностиэтих символов, удаляют эти символы и вставляют новый символ в список остальных на соответствующееместо (по вероятности). n0 вычисляется из системы:
,
где a — целое число, m1 и m2 — мощность первичного и вторичного алфавита соответственно.Последние m2 символов снова объединяют в один и вставляют его в соответствующей позиции,предварительно удалив символы, вошедшие в объединение.Предыдущий шаг повторяют до тех пор, пока сумма всех m2 символов не станет равной 1.Этот процесс можно представить как построение дерева, корень которого — символ с вероятностью 1,получившийся при объединении символов из последнего шага, его m2 потомков — символы из предыдущегошага и т. д.Каждые m2 элементов, стоящих на одном уровне, нумеруются от 0 до m2-1. Коды получаются из путей (отпервого потомка корня и до листка). При декодировании можно использовать то же самое дерево,считывается по одной цифре и делается шаг по дереву, пока не достигается лист — тогда выводится символ,стоящий в листе и производится возврат в корень.Построение дерева ХаффманаБинарное дерево, соответствующее коду Хаффмана, называют деревом Хаффмана.Задача построения кода Хаффмана равносильна задаче построения соответствующего ему дерева.Общая схема построения дерева Хаффмана:Составим список кодируемых символов (при этом будем рассматривать каждый символ как одноэлементноебинарное дерево, вес которого равен весу символа).Из списка выберем 2 узла с наименьшим весом (под весом можно понимать частоту использования символа— чем чаще используется, тем больше весит).Сформируем новый узел и присоединим к нему, в качестве дочерних, два узла выбранных из списка. Приэтом вес сформированного узла положим равным сумме весов дочерних узлов.Добавим сформированный узел к списку.Если в списке больше одного узла, то повторить 2-5.Пример реализацииПример реализации алгоритма Хаффмана на языке// скомпилируйте и введите java HuffmanTest class Tree { public Tree child0; // потомки "0" и "1" public Tree child1; public boolean leaf; // признак листового дерева public int character; // входной символ public int weight; // вес этого символа public Tree() {} public Tree(int character, int weight, boolean leaf) { this.leaf = leaf; this.character = character; this.weight = weight; } /* Обход дерева с генерацией кодов 1. "Распечатать" листовое дерево и записать код Хаффмана в массив 2. Рекурсивно обойти левое поддерево (с генерированием кода). 3. Рекурсивно обойти правое поддерево. */ public void traverse(String code, Huffman h) { if (leaf) { System.out.println((char)character +" "+ weight +" "+ code); h.code[character] = code; } if ( child0 != null) child0.traverse(code + "0", h); if ( child1 != null) child1.traverse(code + "1", h); } } class Huffman { public static final int ALPHABETSIZE = 256; Tree[] tree = new Tree[ALPHABETSIZE]; // рабочий массив деревьев int weights[] = new int[ALPHABETSIZE]; //
4,5(84 оценок)
Ответ:
Light111111
Light111111
13.01.2023
Заведём ещё один массив и будем в него записывать, правда ли, что в массиве есть элементы, равные данному, и текущий элемент - первый из них. Затем выведем все элементы, для которых это оказалось правдой.

Pascal
var
  i, j, n: integer;
  flag: boolean;
  a: array[1..10000] of integer;
  b: array[1..10000] of boolean;
begin
  read(n);
  for i := 1 to n do
  begin
    read(a[i]);
    b[i] := true;
  end;
  b[n] := false;

  for i := 1 to n - 1 do
    if b[i] then
    begin
      flag := true;
      for j := i + 1 to n do
        if a[i] = a[j] then
        begin
          flag := false;
          b[j] := false;
        end;
        if flag then
          b[i] := false;
    end;
  for i := 1 to n do
    if b[i] then
      write(a[i], ' ');
end.
4,4(81 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ