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

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1) Строится двоичная запись числа N.

2) Справа дописывается бит чётности.

3) Справа дописывается ещё один бит чётности.

Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите минимальное число N, после обработки которого с этого алгоритма получается число, большее, чем 103. В ответе это число запишите в десятичной системе.​

Показать ответ
Ответ:
PolinaMm
PolinaMm
13.06.2022 08:13
// PascalABC.NET 3.3, сборка 1573 от 04.11.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var k:=3;
  Writeln('*** Исходный массив ***');
  var a:=MatrRandom(k,6,-20,20);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var n:=ReadInteger('Какую строку удалить (1-'+k+')?');
  Assert(n.Between(1,k),'Введено неверное значение');
  var r:=a.Row(k-1); // последняя строка
  SetLength(a,k-1,a.ColCount); // теперь строк на одну меньше
  if n<k then begin
    for var i:=n-1 to k-3 do
      a.SetRow(i,a.Row(i+1));
    a.SetRow(k-2,r)
    end;
  Writeln(4*a.ColCount*'-'); a.Println(4)
end.

Примеры
*** Исходный массив ***
  -8   3 -10  -5  -8  11
  14  -5 -19  -6 -19 -15
   0 -11  11   3  -6 -12

Какую строку удалить (1-3)? 1

  14  -5 -19  -6 -19 -15
   0 -11  11   3  -6 -12

*** Исходный массив ***
  11 -14  -3  18  19  -9
 -11  19   8  20 -19  19
 -20  13   3 -13  13   1

Какую строку удалить (1-3)? 3

  11 -14  -3  18  19  -9
 -11  19   8  20 -19  19
0,0(0 оценок)
Ответ:
Alexander169
Alexander169
10.04.2022 19:21
Program arrayMinValueSwapFirst;var  numbers: array [1..10] of integer;  maxValIndex: integer;begin  write('Исходный массив: ');  for var i: integer := 1 to 10 do  begin    numbers[i] := random(11);    write(numbers[i]);    if i < 10 then      write(', ');  end;  var minVal: integer := -1; // Сюда записываем рекорд по значению  for var i: integer := 1 to 10 do    if (numbers[i] > minVal) then    begin      minVal := numbers[i];      maxValIndex := i;    end;  writeln();  writeln('Индекс максимального: ', maxValIndex);  var buf: integer := numbers[1];  numbers[1] := minVal;  numbers[maxValIndex] := buf;  write('Результат      : ');  for var i: integer := 1 to 10 do  begin    write(numbers[i]);    if i < 10 then      write(', ');  end;end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота