В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География

с информатикой У исполнителя Альфа две команды, которым присвоены номера: 1). прибавь 1. 2). умножь на b (b - неизвестное натуральное число; b ≥ 2). Выполняя первую из них, Альфа увеличивает число на экране на 1, а выполняя вторую, умножает это число на b. Известно, что программа 11211 переводит число 12 в число 114. Определите значение b. *

Показать ответ
Ответ:
Настя528858
Настя528858
11.07.2021 10:12
Итак, нужно, чтобы любая троичная последовательность декодировалась однозначно. Смотрим на варианты:
0, 01, 02, 10
Если выбрать кодом 0, декодировка будет происходить однозначно (ни в одном из остальных кодов нуля нет). А если выбирать коды из двух цифр - опять-таки всё будет однозначно, т.к. все коды букв будут иметь одинаковую длину (например, для декодировки 1121222202 надо будет разбить строку на подстроки длины 2: 11 21 22 22 02, и расшифровать каждую подстроку). Без условия на длину слова подошли бы они все.

Нужен код наименьшей длины, поэтому в ответы пойдёт 0.
0,0(0 оценок)
Ответ:
shuius
shuius
09.06.2023 19:25
Uses
  crt;

var
  a: array [1..25] of integer;  
  ar: array [1..5, 1..5] of integer;
  i, j, k, n, m, x: integer;

begin
  write('n=');    
  readln(n);    
  writeln('Заполните массив:');    
  for i := 1 to n do read(a[i]);    
  for i := 1 to n do    
    for j := i + 1 to n do    
      if a[i] > a[j] then begin
        x := a[i];      
        a[i] := a[j];      
        a[j] := x;    
      end;    
  writeln('Отсортированный массив: ');    
  for i := 1 to n do write(a[i], ' ');    
  writeln;
  n := floor(sqrt(n));
  m := sqr(n);
  writeln('Двумерный массив: ');
  for k := 1 to m do
  begin
    x := (k - 1) div n;
    j := n - x;
    if x mod 2 = 0 then
      i := n * (x + 1) + 1 - k
    else
      i := k - n * x;
    ar[i, j] := a[k]
  end;    
  for i := 1 to n do
  begin
    for j := 1 to n do write(ar[i, j]:4);        
    writeln
  end
end.

Тестовое решение:

n=16
Заполните массив:
1 3 5 7 9 11 13 15 2 4 6 8 10 12 14 16
Отсортированный массив:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Двумерный массив:
  13  12   5   4
  14  11   6   3
  15  10   7   2
  16   9   8   1

n=25
Заполните массив:
1 3 5 7 9 11 2 4 6 8 10 12 14 13 16 17 15 20 18 19 23 25 22 21 24
Отсортированный массив:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Двумерный массив:
  25  16  15   6   5
  24  17  14   7   4
  23  18  13   8   3
  22  19  12   9   2
  21  20  11  10   1

Дан одномерный массив, сформировать из него двухмерный отсортированный змейкой: начиная с правого ни
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота