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

Написать программу на Паскале: программа ввода и вывода 20-ти случайных чисел. Подсчитать в массиве количество чисел больших 15.

Показать ответ
Ответ:
chelovekchelovekov99
chelovekchelovekov99
21.05.2021 19:35
PascalABC.NET 3.4.2, сборка 1863 от 10.11.2018Внимание! Если программа не работает, обновите версию!

function Conv(s: string): string;

begin

 var d := s.ToCharArray;

 var (i, found) := (d.High, False);

 while i >= 1 do

   if d[i] > d[i - 1] then

   begin

     found := True;

     break

   end

   else i -= 1;

 if found then

 begin

   s := s[:i];

   var c := d[i - 1];

   d := d[i - 1:];

   d.Sort;

   var j := d.IndexOf(c) + 1;

   s += (d[j] + d?[:j] + d?[j + 1:]).JoinIntoString

 end

 else s := '-';

 Result := s

end;


begin

 var ms := Arr('1890', '83849', '126631', '146531', '32749972');

 foreach var s in ms do

   Conv(s).Println

end.

19088389413126615134632772499
0,0(0 оценок)
Ответ:
nechakva86
nechakva86
02.02.2020 19:35

Определяем мощность (количество символов) использующегося алфавита. 12 букв и 10 цифр составляют 22 символа. В 1 байте допустимо запоминать 256 комбинаций, поэтому "минимальное количество байтов" для кодирования символа равно 1. Номер из 6 символов займет 6 байт.

А для 32 номеров потребуется 32×6 = 192 байта.

Я встречал эту задачу в несколько ином виде: Каждый символ кодируется одинаковым и минимально возможным количеством не байтов, а бит. А номер кодируется минимально возможным количеством байт. Тогда получается 5 бит на символ (2⁴ < 22 < 2⁵), 6 символов требуют 5×6 = 30 бит = 30/8 ≈ 4 байта. А 32 номера занимают 32×4 = 128 байт.  

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