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

Отсортировать массив по не убыванию методом распределения по массиву ключей, по не возрастанию.​

👇
Открыть все ответы
Ответ:
умник1626
умник1626
24.11.2022
Зная количество бит в двоичной записи числа, можно посчитать количество бит в восьмеричной записи, так как из двоичной в восьмеричную систему счисления число можно привести группировкой по трем соседним разрядам, начиная с младших. Например, есть число 1100111. Сгруппируем его разряды: (1)(100)(111)=147 - в восьмеричной СС. Пусть количество разрядов 2-ичного числа равно n. Тогда количество разрядов восьмеричного числа будет n/3, деленное нацело и округленное вверх. n=7 => n/3=7/3. Округляем, будет 3.
a) 10111010. n=8 => 8/3 - 3 8-ричных разряда
б) 1001111000111, n=13 => 13/3 - 5 8-ричных разрядов
в) A18C. Сначала найдем n. Посмотрим, сколько значащих разрядов у старшей цифры. A=1010 - 4 разряда. У остальных цифр по 4 разряда всегда. Поэтому n=3*4+4=16 => 16/3 - 6 8-ричных разрядов.
г) 1375BE.
1=1 : 1 разряд => n=5*4+1=21 => 21/3 - 7 8-ричных разрядов
4,5(74 оценок)
Ответ:

Program n_1;

var a:array [1..1000] of integer; i, buf:integer;

begin

  for i:=1 to 1000 do read(a[i]); //Вводим массив

   for i:=1 to 500 do begin //Переворачиваем массив

       buf:=a[i];

       a[i]:=a[1001-i];

       a[1001-i]:=buf;

   end;

   for i:=1 to 1000 do write(a[i], ' '); //Выводим перевернутый массив

   writeln(); //Переносим строку

   for i:=1 to 1000 do begin //Выводим нужные нам числа

       buf:=a[i];

       while buf>9 do buf:=buf div 10; //buf равно старшему разряду

       if buf>a[i] mod 10 then write(a[i], ' '); //Если старший разряд больше младшего, то выводим

   end;

end.

Часть, выделенная полужирным, эквивалентна

for i:=1000 downto 1 do read(a[i]); //Заполняем массив с конца и тем самым он сразу становится перевернутым.

4,4(54 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ